2011-11-16 46 views
0

我对开发网站的顶部有一个横幅。我有图像滚动左下方的jquery。当其他jquery函数正在使用时,例如网络钓鱼或jQuery图像旋转器,它会突变并冻结。jQuery平滑sroll背景图像horizo​​natlly?

我的问题是,有没有更好的解决方案,将有助于顺利滚动图像?

谢谢

var $jg = jQuery.noConflict(); 
$jg(document).ready(function() { 
    var xAdd = 0; 
    var scrollInterval = setInterval(function(){ 
     xAdd++; 
     if(xAdd >= 1200){ 
      xAdd = 0; 
     } 
     $jg('#clouds').css('background-position',xAdd + 'px '); 

    },100); 
}); 

回答

3

尝试使用jQuery的$.animate()这样的:

var $jg = jQuery.noConflict(); 
$jg(document).ready(function() { 
    // Animate Cloud Loop // 
    function cloud_loop($target, val){   
     $target.animate({'background-position' : val+'px'}, 'fast', 'linear', function(){ 
      $target.css('background-position','0');     
      cloud_loop($target, val); 
     }); 
    } 

    // Start Animation Loop // 
    cloud_loop($jg('#clouds'), 1200); 
}); 

使用可以在功能改变“快”参数“慢”和完整一毫秒的价值动画。

我希望这有助于!

编辑:坦克乍得和约瑟夫'线性'!

+0

这对于第一个1000像素来说效果很好,但随后在爬到1200像素之前就开始爬行了。 – thesanerone

+0

@ user949269查看更新后的答案;为你设置一个小提琴。 – dSquared

+0

是的,这个答案好多了,谢谢!但即时通讯仍然在1000左右爬行。一旦碰到环路,它就会再次快速启动。 – thesanerone