2008-10-22 12 views
3

J'ai un div menu que je veux glisser vers le bas de sorte qu'il est toujours visible, mais je veux qu'il soit placé sous mon titre div. Je ne veux pas qu'il bouge tant que le haut du menu n'atteigne pas le haut de l'écran et qu'il reste en place. Fondamentalement, je veux un menu coulissant avec une hauteur maximale, il peut glisser vers.Comment puis-je avoir un menu coulissant div qui ne se déplace pas à moins que la page défile vers le bas après un certain point

+0

concept de Nice. L'utilisateur n'a pas besoin de revenir en arrière pour localiser le menu. Ce menu est-il horizontal ou est-il vertical à gauche? – DOK

Répondre

8

Je pense que je comprends ce que vous parlez-nous avons utilisé une technique similaire sur The King avec jQuery. Voici comment:

///// CONFIGURATION VARIABLES: 

var name    = "#rightsidebar"; 
var menu_top_limit  = 241; 
var menu_top_margin  = 20; 
var menu_shift_duration = 500; 
var menuYloc = null; 
/////////////////////////////////// 

$(window).scroll(function() 
{ 
    // Calculate the top offset, adding a limit 
    offset = menuYloc + $(document).scrollTop() + menu_top_margin; 

    // Limit the offset to 241 pixels... 
    // This keeps the menu out of our header area: 
    if(offset < menu_top_limit) 
     offset = menu_top_limit; 

    // Give it the PX for pixels: 
    offset += "px"; 

    // Animate: 
    $(name).animate({top:offset},{duration:menu_shift_duration,queue:false}); 
}); 

(Pointe du chapeau à @soyrex qui a écrit ce code.)

+0

Yup, c'est ce que je voulais et en fait, j'aime mieux ça. – user30377

+0

Quel est le rôle de menuYloc dans ce code? Il ne semble pas être fixé nulle part ... –

Questions connexes