Jump to content

Surligner menu en fonction position (one page)


Recommended Posts

Bonjour à tous,

Je réalise une boutique One page, avec des ancres qui permettent donc de scroller automatiquement à l'aide du menu.

J'ai donc plusieurs ancres sur ma page (que j'ai placé dans le page builder).

Lorsque je passe ma souris sur le menu, celui-ci souligne le titre survolé (voir image):

1534504928-11.png

Mon menu est "flottant" (descend avec la page, donc fixe sur l'écran)

 

Comment puis-je faire en sorte que mon menu souligne automatiquement la partie ou je me situe sur la page? 

 

Merci à vous pour votre aide !

 

Link to comment
Share on other sites

Bonjour,

Vous pouvez gérer cela en mettant une classe "active" sur chaque menu lorsque vous atteigné une hauteur de scroll précise.

Par exemple entre 0 et 600px, on ajoute la class active au premier menu.

Entre 600 et 1200px, on ajoute la class active au second menu tout en supprimant la class active des autres menus.

 

 

Link to comment
Share on other sites

Bonjour,

Tu n'as pas besoin de modifier ton html de menu, tu dois gérer cela directement en JS, par exemple sur ton global.js présent dans ton dossier js.

Fais quelque chose comme ceci :

$(window).scroll(function() {
  if($(window).scrollTop() > 200){
  	$('.tesmenus').removeClass('active');
    $('.tonmenu2').addClass('active');
  }
  if($(window).scrollTop() > 400){
  	$('.tesmenus').removeClass('active');
    $('.tonmenu2').addClass('active');
  }
});

 

Edited by Performance Agency (see edit history)
Link to comment
Share on other sites

52 minutes ago, Performance Agency said:

Bonjour,

Tu n'as pas besoin de modifier ton html de menu, tu dois gérer cela directement en JS, par exemple sur ton global.js présent dans ton dossier js.

Fais quelque chose comme ceci :


$(window).scroll(function() {
  if($(window).scrollTop() > 200){
  	$('.tesmenus').removeClass('active');
    $('.tonmenu2').addClass('active');
  }
  if($(window).scrollTop() > 400){
  	$('.tesmenus').removeClass('active');
    $('.tonmenu2').addClass('active');
  }
});

 

 

Merci c'est plus clair avec ça ! 

Nouvelle question, comment je peux trouver mes variables menus ('.tesmenus";".tonmenu2") ?

 

Merci de votre aide,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...