【问题标题】:jquery slider animation playing fast after window is minimized窗口最小化后快速播放jquery滑块动画
【发布时间】:2012-05-14 03:55:26
【问题描述】:

我在网站上使用 coda 滑块,不幸的是,在窗口最小化后,内容滑块播放速度非常快。我知道这与设置超时有关,但我还没有达到完美的结果。对此的任何帮助将不胜感激。我的脚本代码是:

    var theInt = null;
    var $crosslink, $navthumb;
    var curclicked = 0;

    theInterval = function(cur){
        clearInterval(theInt);

        if( typeof cur != 'undefined' )
            curclicked = cur;

        $crosslink.removeClass("active-thumb");
        $navthumb.eq(curclicked).parent().addClass("active-thumb");
            $(".stripNav ul li a").eq(curclicked).trigger('click');

        theInt = setInterval(function(){
            $crosslink.removeClass("active-thumb");
            $navthumb.eq(curclicked).parent().addClass("active-thumb");
            $(".stripNav ul li a").eq(curclicked).trigger('click');
            curclicked++;
            if( 4 == curclicked )
                curclicked = 0;

        }, 8000);
        setTimeout( nextCycle, 2000 );
    };

    $(function(){

        $("#main-photo-slider").codaSlider();

        $navthumb = $(".nav-thumb");
        $crosslink = $(".cross-link");

        $navthumb
        .click(function() {
            var $this = $(this);
            theInterval($this.parent().attr('href').slice(1) - 1);
            return false;
        });

        theInterval();
    });

【问题讨论】:

  • 与 Java 无关。标记已删除。

标签: javascript jquery animation timeout slider


【解决方案1】:

我总是遇到 setTimeout 的问题。我的方法是执行以下操作:

var timer = setTimeout( function(){nextCycle();}, 2000 );

【讨论】:

  • 谢谢Kyle,但是我把代码放进去之后,还是不行。我对 Jquery 有点陌生。所以如果你能告诉我应该在哪里以及如何实现它,我将不胜感激。谢谢。
  • 你的项目是公开的吗?能发个链接吗?
  • 很遗憾没有。这是我正在处理的滑块:link 但我只是注意到这个工作正常,我想我已经在我的项目中包含了一个新版本的 Jquery,因为旧版本删除了一些其他部分的功能,比如弹出灯箱.我认为它与 Jquery 版本有关。我只需要知道在哪里放置代码。
  • 替换您现有的 setTimeout...setTimeout( nextCycle, 2000 ); 大约在您提供的代码中的第 25 行
  • 我把它放在这里: if( 4 == curclicked ) curclicked = 0;设置超时(下一个周期,2000); }, 8000);但没有运气。您能否更具体地说明我应该在哪个短语之后粘贴它?
【解决方案2】:

该库似乎与我正在使用的另一个库发生冲突。我使用了另一个功能,当浏览器窗口最小化或返回页面时更改选项卡以刷新页面,在这种情况下,所有脚本将重新加载,滑块将从头开始。虽然如果我可以在不刷新整个页面而仅通过刷新脚本或以某种方式从头开始播放滑块的情况下做到这一点会更好,但不幸的是我的javascript知识并不多!这是代码:

     $(window).blur(function() {
//Do Nothing//   
});

$(window).focus(function() {
//This refreshes the whole page //
       location.reload();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2011-05-06
    • 2012-03-05
    • 2011-05-05
    • 2022-01-18
    相关资源
    最近更新 更多