设置Timeout功能和各功能冲突

发布于 2024-12-18 15:06:03 字数 468 浏览 0 评论 0原文

以下代码应触发搜索结果中每个元素的鼠标 Enter() 和 mouseleave(),每个元素之间有 2000 毫秒的间隙。超时没有任何作用,直接结束。

$(window).load(function(){
    var delayslide = 0;
    $(".featuredslider a").each(function(){
        var current = $(this).index();
        window.setTimeout(function(){
            $(".featuredslider a").mouseleave();
            $('.featuredslider a:eq(' + current + ')').mouseenter();
            delayslide += 2000;
        }, delayslide);
    });

});

The following code should trigger the mouse enter() and mouseleave() every each element in the found set with a 2000 ms gap between each one. The timeout is having no effect and it is going straight to the end.

$(window).load(function(){
    var delayslide = 0;
    $(".featuredslider a").each(function(){
        var current = $(this).index();
        window.setTimeout(function(){
            $(".featuredslider a").mouseleave();
            $('.featuredslider a:eq(' + current + ')').mouseenter();
            delayslide += 2000;
        }, delayslide);
    });

});

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

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

发布评论

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

评论(1

莳間冲淡了誓言ζ 2024-12-25 15:06:03

在这里:

var elems = $( 'a', '.featuredslider' ).get(),
    i = -1;

(function loop() {
    $( elems[i] ).mouseleave();
    i += 1;
    $( elems[i] ).mouseenter();

    if ( i < elems.length ) { setTimeout( loop, 2000 ); }
})();

现场演示: http://jsfiddle.net/G9VNj/

Here you go:

var elems = $( 'a', '.featuredslider' ).get(),
    i = -1;

(function loop() {
    $( elems[i] ).mouseleave();
    i += 1;
    $( elems[i] ).mouseenter();

    if ( i < elems.length ) { setTimeout( loop, 2000 ); }
})();

Live demo: http://jsfiddle.net/G9VNj/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文