jQuery window.scroll在相反方向上移动div垂直

我有一个div在页面滚动上向下滚动,当我向上滚动div时向上滚动。 我想反其道而行之

这是代码:

// SCROLL BUTTON // -- iPhone picture should scroll in when down and down when up jQuery(window).scroll(function(){ jQuery(".iphonepic").stop().animate({ "top": (jQuery(window).scrollTop() - 0.00) + "px"}, "slow"); }); 

因此,当您向下滚动时,div应垂直向上,与滚动方向不同。

小提琴演示: http : //jsfiddle.net/khaleelm/sQZ9G/7/

更新

我也想限制DIV不要高于-150px,尝试

 if ( parseInt(jQuery(".iphonepic").css("top"), 10) >= -150 ) { 

你可以做:

 { top: -jQuery(window).scrollTop() + 'px' } 

此外,还有一些技巧可以提高效率。

你在每个滚动事件上调用jQuery(window)jQuery('.iphonepic') ,这真的很贵。 做就是了:

 var $window = jQuery(window), $iPhonePic = jQuery('.iphonepic') $w.on('scroll', function(){ var top = -$window.scrollTop(); if ( top < -150 ) { top = -150; } $iPhonePic.stop().animate({ top: top + 'px' }, "slow"); });