2

我正在尝试解决如何让我的身体滚动条将特定 div的backgroundPosition - #simpleBG - 在向下滚动时向右移动,在向上滚动时向左移动。

jQuery(文档).ready(函数($){

      $('#simpleBG').scroll(function(event, direction) {
     if (direction === 'down') {
        $('#simpleBG').animate({backgroundPosition: '-=20px 0px'})
     }
     else {
        $('#simpleBG').animate({backgroundPosition: '0px 0px'})
     }        }); 

});

我有 backroundpos.js 允许背景动画。只是不确定我是否在这里使用了正确的逻辑和语法。

4

1 回答 1

1

尝试:

   var $simpleBG = $("#simpleBG"),
       $root = $(".wrapper");

   $root.on("scroll", (function(e,d) {
       if(d=='down'){
          $simpleBG.animate{backgroundPosition: '-=20px 0px'})
       }
       else {
          $simpleBG.animate({backgroundPosition: '0px 0px'})
       }        
   });

其中 .wrapper 是外部元素上的一个类。

虽然不太确定滚动元素上的方向,但该方向的另一种解决方案可能是:

var tempScrollTop, currentScrollTop = 0;

   $("#div").scroll(function(){

   currentScrollTop = $("#div").scrollTop();

   if (tempScrollTop < currentScrollTop )
   //scrolling down
   else if (tempScrollTop > currentScrollTop )
   //scrolling up

tempScrollTop = currentScrollTop;
}
于 2012-10-11T08:30:57.320 回答