尝试做类似的事情:jQuery background-position animation但不能让它发挥作用。想知道是否有人可以提供帮助。
我在页面上有一个jCarouselLite轮播。我有一个jCarousel的subnav,它在顶部有一个小箭头表示,这是与幻灯片中显示的幻灯片相关的subnav。由于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};
}}
它正在做的就是把页面捆起来。我看着它是盲目的,所以我做了一些非常愚蠢的事情,提前道歉。任何帮助非常感谢。
Ť
答案 0 :(得分:0)
可能是这个&#39;这个&#39;传递错误?
请参阅https://developer.mozilla.org/en/window.setInterval和&#39;&#39;此&#39;问题&#39;
答案 1 :(得分:0)
用上面提到的内容来看待这个
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循环。我=== 1正在检查我是否等于1并且与i的类型相同,我不认为这是你想要做的,你为你的for循环分配值。其次,在前面列出的'this'答案的背面,在jQuery的上下文中,我已将此更改为jquery $(this)对象,而您使用.css而不是'this',在这种情况下是现在引用正确的jquery对象(ul id =“controls”)我相信