jQuery 3.5.1 .animate() 中的回调函数不工作
jQuery 3.5.1 callback function in .animate() not working
我在 .animate()
中创建回调函数时遇到问题。
动画进行得非常顺利,没有问题,但是 complete: ()=>
部分根本不起作用。我已经从文档中复制了这个结构,但它只是不想在我的更改后合作。有谁知道为什么它不起作用?是setInterval引起的吗?如果是这样,我该如何循环播放此动画?
代码如下:
setInterval(() => {
$(".slide")[0].animate({
"marginLeft": "-100%"
}, {
duration: 2000,
easing: "linear",
complete: () => {
console.log("test");
},
});
}, 6000);
您需要使用正确的选择器:
setInterval(() => {
$(".slide").eq(0).animate({
"marginLeft": "-100%"
}, {
duration: 2000,
easing: "linear",
complete: () => {
console.log("test");
},
});
}, 6000);
当您从对象中获取元素 0
时,它 returns 是 DOM 元素而不是 jQuery 对象。查看更多:
我在 .animate()
中创建回调函数时遇到问题。
动画进行得非常顺利,没有问题,但是 complete: ()=>
部分根本不起作用。我已经从文档中复制了这个结构,但它只是不想在我的更改后合作。有谁知道为什么它不起作用?是setInterval引起的吗?如果是这样,我该如何循环播放此动画?
代码如下:
setInterval(() => {
$(".slide")[0].animate({
"marginLeft": "-100%"
}, {
duration: 2000,
easing: "linear",
complete: () => {
console.log("test");
},
});
}, 6000);
您需要使用正确的选择器:
setInterval(() => {
$(".slide").eq(0).animate({
"marginLeft": "-100%"
}, {
duration: 2000,
easing: "linear",
complete: () => {
console.log("test");
},
});
}, 6000);
当您从对象中获取元素 0
时,它 returns 是 DOM 元素而不是 jQuery 对象。查看更多: