Bonjour à tous,

Cela fait un long moment que je planche sur le code suivant pour qu'il s'arrête avant le footer,
en attendant, j'ai fait un z-index et un background en fin de page pour ne pas voir le menu dépasser,,,

Voici le code javascript

Votre code ici...
$(function(){
    $('#sticky').each(function(){
        var parent = $(this).parent();
        var dTop = $(this).offset().top;
        var elem = $(this);
        parent.css('position','relative');
        elem.css('position','absolute');
        $(window).scroll(function(){
            if(scrollY()>dTop){
                elem.stop().animate({top:scrollY()-parent.offset().top},500);
            }else{
                elem.stop().animate({top:dTop-parent.offset().top},500);
            }
        });
    });
});
/ **sticky Return the position of the top** /
function scrollY(){
    scrOfY = 0;
    if(typeof(window.pageYOffset)=='number'){
        //Netscape compliant
        scrOfY = window.pageYOffset;
    }else if(document.body && (document.body.scrollTop)){
        //DOM compliant
        scrOfY = document.body.scrollTop;
    }else if(document.documentElement && (documment.documentElement.scrollTop)){
        //IE6 standars compliant mode
        scrOfY = document.documentElement.scrollTop;
    }
    return scrOfY;
};

En attendant je vous remercie d'avance pour votre aide...

PS: Si j'arrive à clore se sujet, cela amènera la solution pour les autres...

1 réponse


Bonjour,

Peux tu nous faire un fiddle de ton problème qu'on situe mieux ton soucis ?

Sinon je vois que tu fais un each je suppose que tu liste plusieurs éléments alors pourquoi un each sur un id ??

Ou alors tu as plusieurs balises avec l'id sticky dans ton code ?