Bonsoir,

Je m'appel Daniel, je suis designer, et je souhaiterais me faire une page internet unique avec une fonction ScrollTo pour accéder aux différentes rubriques.
Étant débutant j'ai suivi un tutoriel pour réaliser la fonction ScrollTo mais l'animation ne fonctionne pas. Le menu amène bien aux rubriques, mais il n'y a aucune animation.

J'ai bien simplifié au maximum la page pour essayer de comprendre d’où venait le problème, mais je sèche.

Pourriez-vous m'aider ? Pourriez-vous me dire ce qui manque, ou ne va pas dans le code ?

Voici ma page :
http://www.danieldupuy.com/testnouvellepage/Test1.html

J'ai utilisé une ScrollTo en Jquery.

Merci Smiley smile
Salut,

tu as un soucis dans ton script "script.js", utilise la console de ton navigateur pour voir ce genre d'erreur:

$(ducument).ready(function()
Tu as aussi un autre soucis dans ton script, mais essaie de le trouver par toi même (indice: tu le retrouveras exactement 5fois), une fois cela corrigé, ça va fonctionner.

Bon courage Smiley smile
Ah merci, je n'arrivais pas à trouver !
Donc modification du Script "(document)", et enlever ces vieux "s" à window !
Du coup ça marche Smiley smile .

Merci à vous.

Une dernière petite question, est-ce normale d'avoir une effet de "flash" lors du défilement ?

En attendant je marque le sujet "résolu" puisque que le souci est réglé. Smiley smile
Aucun soucis.
Pour ton autre problème, tu peux le contourner, je pense que c'est à cause de ta version de jquery (voir ci-dessous). Tu peux tricher comme ça, mais bon c'est un fix "crado":


$(document).ready(function()
	{
		$("a.Accueil").click(function(event)
			{
				event.preventDefault();
				$(window).scrollTo($("#header"),2000);
			});
			
		$("a.Présentation").click(function(event)
			{
				event.preventDefault();
				$(window).scrollTo($("#blockpresent"),2000);
			});
			
		$("a.Cv").click(function(event)
			{
				event.preventDefault();
				$(window).scrollTo($("#blockcv"),2000);
			});	
		
		$("a.Savoir-Faire").click(function(event)
			{
				event.preventDefault();
				$(window).scrollTo($("#blocksavoirfaire"),2000);
			});
			
		$("a.Contact").click(function(event)
			{
				event.preventDefault();
				$(window).scrollTo($("#contact"),2000);
			});				
			
	});


Tu utilises une vieille version de JQuery la 1.3.2, et d'ailleurs mon navigateur me précise ça:
"event.returnValue is deprecated. Please use the standard event.preventDefault() instead. " Je pense donc que si tu utilises une version plus récente, tu pourras te passer du fix ci-dessus, à tester par contre Smiley cligne
Salut,

L'effet de flash, c'est parce que tu n'as pas dû mettre :

return false;


avant la fin de ton script.. .. avant
});

Modifié par blond1n (08 Jan 2014 - 12:07)
lorsque je clique sur les liens, ça m'amène aux différentes rubriques.. . tu as un menu qui est en haut de chaque zone contractée.. Un menu qui apparait et en position fixe serait mieux.. .

le principe est d'appeler le menu, le rendre visible au moment ou tu scroll vers tes zones.


var positionElementInPage = $('#ton_menu').offset().top;
	$(window).scroll (function() {
	if ($(window).scrollTop() >700) { // si le scrolling dépasse 700ème pixels
	   $('#ton_menu').fadeIn(500).addClass("float"); // alors ton menu récupère la class .float
	} 
	else {
	   $('#ton_menu').fadeOut(300); //sinon il disparait lorsque tu remonte tout en haut
		}
        }
);



il y a surement mieux comme code mais il marche.. Smiley murf