2011-04-13 71 views
0

我很抱歉發佈second time,但我需要一個jQuery解決方案。 original solution在Chrome中不起作用,但可在jsFiddle站點上運行(即使在Chrome中打開時也是如此)。jQuery&CSS - 如何阻止相對元素左右浮動(當您滾動時)?

這裏是細節再次: 我有一個父div與固定位置和該div內我有主div與相對位置。當我滾動條上下時,它會跟着我(我想要),但當我從左向右滾動條(或從右向左)時,我不希望它跟着我。

HTML:

<div id="wrapper"> 
    <div id="icons"> 
     icons 
    </div> 
</div 

CSS:

#wrapper { 
    position: fixed; 
    z-index: 1000; 
    top: 155px; 
} 
#icons { 
    width: 42px; 
    position: relative; 
    left: -67px; 
} 

的jQuery:

var initSL = $(window).scrollLeft(); 
var initOL = $('#wrapper').offset().left; 

$(window).scroll(function() { 
     $('#wrapper').css('left', initOL - ($(window).scrollLeft() - initSL)); 
})(jQuery); 

再一次感謝你!!

回答

1

試試這個:

$(document).scroll(function(e){ 
    $('#wrapper').css('left', initOL - ($(document).scrollLeft() - initSL + ' px')); 
}); 

jQuery的的CSS功能設置CSS值作爲字符串。

您從$(document).scrollLeft()中檢索的滾動值以像素爲單位。

+0

謝謝您的回覆!但是......它不起作用:| – Cris 2011-04-13 17:23:28

+0

怎麼這樣?我測試了它在jsFiddle,在鉻和它的工作。 親自試一試[this jsfiddle](http://jsfiddle.net/jJrvr/) – 2011-04-14 09:49:53