一段时间后幻灯片停止了?

发布于 2024-12-02 18:44:40 字数 537 浏览 1 评论 0原文

为什么下面的代码不能真正工作并在 5 分钟后停止?

var x = 0;
var s = 0;

function cicle() {
    if (x < 2) {
        $("#slide").animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").animate({
            "right": "0px"
        }, 1000);
    }
};
var a = setInterval("cicle()", 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval("cicle()", 5000);
}

示例

why not work true following code and after 5 min stopped?

var x = 0;
var s = 0;

function cicle() {
    if (x < 2) {
        $("#slide").animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").animate({
            "right": "0px"
        }, 1000);
    }
};
var a = setInterval("cicle()", 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval("cicle()", 5000);
}

EXAMPLE

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韬韬不绝 2024-12-09 18:44:40

setInterval的第一个参数更改为cicle

var a = setInterval(cicle, 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval(cicle, 5000);
}

希望它能解决您的问题。

也许在添加新动画之前停止动画会更好:

function cicle() {
    if (x < 2) {
        $("#slide").stop().animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").stop().animate({
            "right": "0px"
        }, 1000);
    }
}

Change the first parameter of setInterval to cicle:

var a = setInterval(cicle, 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval(cicle, 5000);
}

I hope it solves your problem.

Maybe it would be better to stop the animation before adding a new one:

function cicle() {
    if (x < 2) {
        $("#slide").stop().animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").stop().animate({
            "right": "0px"
        }, 1000);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文