我有一个(动态添加的)元素,它基于水平滚动重新定位,这意味着它可以离开屏幕。附加到该元素,还有另一个可能不会离开屏幕,它必须留在屏幕上。所以我的想法是使用一个事件处理程序,它在你滚动时询问元素的位置。如果 position-left 属性低于某个数字,则附加的元素将重新定位。
你知道这些元素,它就像一个菜单/导航,它会随着你滚动到某个点,然后看起来是固定位置的。
我试过这个,但它不起作用,可能是因为元素是用 javascript 添加的。我也试过live("scroll"..
了,但这也没有用。
$(window).scroll(function(ev) {
alert($("#scrElem").position().left);
alert("work");
if ($("#scrElem").position().left >= 203) {
$("#scrElem .attElem").css("left", ($("#scrElem").position().left - 203) + "px");
};
});
编辑:
也许这有帮助:我正在使用 tinyscrollbar 插件,这是它的可读版本(http://baijs.nl/tinyscrollbar/js/jquery.tinyscrollbar.js)。基本上这个插件在滚动时触发事件。这就是我想要的,我什至看到了他在哪里做的:
oWrapper[0].addEventListener( 'DOMMouseScroll', wheel, false );
oWrapper[0].addEventListener( 'mousewheel', wheel, false );
oWrapper[0].addEventListener( 'MozMousePixelScroll', function( event ){
event.preventDefault();
}, false);