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

时间:2013-12-23 16:40:16

标签: jquery scroll jquery-animate scrolltop

我有一个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 ) {

1 个答案:

答案 0 :(得分:3)

你可以这样做:

{ 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");
});