使用jQuery移动背景位置

使用jQuery移动背景位置,jquery,css,Jquery,Css,试图做一些类似的事情:但没有让它发挥作用。我想知道是否有人能帮忙 我在一页上有一个旋转木马。我有一个指向jCarousel的子AV,它在顶部有一个小箭头指示,这是与旋转木马中显示的幻灯片相关的子AV。由于jCarouselLite没有反馈功能,而且在项目中更改为另一个旋转木马已经太晚了,我需要看看是否可以让它正常工作。我原以为我可以使用JS在与横幅相同的时间周期内移动背景位置,但它不起作用 以下是我做的JS: function bannav(){ var sp = new Arr

试图做一些类似的事情:但没有让它发挥作用。我想知道是否有人能帮忙

我在一页上有一个旋转木马。我有一个指向jCarousel的子AV,它在顶部有一个小箭头指示,这是与旋转木马中显示的幻灯片相关的子AV。由于jCarouselLite没有反馈功能,而且在项目中更改为另一个旋转木马已经太晚了,我需要看看是否可以让它正常工作。我原以为我可以使用JS在与横幅相同的时间周期内移动背景位置,但它不起作用

以下是我做的JS:

function bannav(){
        var sp = new Array(-880,-700,-520,-360,-180);
        var i=0;
        for(i===1;i<=5;i++){
            position = sp[i]+'px 0px';
            window.setInterval(function(){
                $('div.container div.banner-holder ul#controls').animate(function(){
                    $this.css('background-position', position);
                });
              }, 8000);
            if(i==5){i=0};
        }}
它所做的只是把这一页捆起来。我看不见它,所以我做了一件非常愚蠢的事,事先道歉。非常感谢您的帮助


T

可能是“this”的传递不正确吗


请参阅和“这个问题”

用上面提到的内容来看待这个问题

  function bannav(){
    var sp = new Array(-880,-700,-520,-360,-180);
    var i=0;
    for(i=1;i<=5;i++){
        position = sp[i]+'px 0px';
        window.setInterval(function(){
            $('div.container div.banner-holder ul#controls').animate(function(){
                $(this).css('background-position', position);
            });
          }, 8000);
        if(i==5){i=0};
    }}

我在这里做了一些改变。1是我在前面的评论中更改了for循环。i==1正在检查i是否等于1,是否与i的类型相同,我不认为这是您在这里要做的,您正在为for循环赋值。其次,在前面列出的“this”答案后面,在jQuery的上下文中,我将其更改为您使用的jQuery$this对象。css on而不是“this”,在本例中,它现在是对正确的jQuery对象ul id=控件的引用,我相信

this fori==1;我想说同样的话:哈哈,我讨厌这种事发生!看起来你可以通过i===1逃脱惩罚——不确定这是否是你继续生活和学习的原因,即使你给出了答案:干杯,汤米。事实上,我发现我的错误远远不止于此。setInterval将等待8秒,但在此期间for循环将完成。我需要重新说明我是如何处理这件事的。。。谢谢你的意见,非常感谢。