2010-11-14 5 views
12

Donc, essentiellement, j'aimerais avoir un élément qui est fixé en bas de la page, mais quand la vue défile horizontalement, elle doit aussi défiler horizontalement.Position fixe dans une seule direction

Je peux pirater un moyen de le faire avec JavaScript, mais y at-il un moyen CSS de le faire? Cela ne me dérange pas quelques DIV supplémentaires ici et là.

+0

Isn » t que ce positionnement fixe fait? Ou voulez-vous dire quand vous vous déplacez horizontalement, il ne faut pas ** faire défiler horizontalement – Aishwar

+0

parlez-vous de pied flottant, qu'en est-il horizontal scrool, voir si cette question est utile http://stackoverflow.com/questions/146659/how -do-i-get-a-flottant-footer-to-the-bottom-of-the-viewport-in-ie-6 – kobe

+0

Non. Avec positionnement fixe, la largeur maximale du 'div' ou w/e est la largeur de la fenêtre du navigateur, pour autant que je sache. –

Répondre

15

partie CSS:

#footer { 
    position:fixed; 
    bottom:0px; 
    left:0px 
} 

partie jQuery:

$(window).scroll(function(){ 
    $('#footer').css('left','-'+$(window).scrollLeft()+'px'); 
}); 
+0

Je ne pense pas que l'attribution d'une valeur négative à gauche fera exactement ce qui a été demandé. –

2

vraiment la partie jQuery doit être comme:

var s = $(window).scrollLeft() - scroll_old;  
scroll_old = $(window).scrollLeft(); // initially = 0; 
var diff = left_num - s; 
var new_left = diff+"px"; 

alors comme ci-dessus ...