0

我正在尝试使用 jquery 实现一个 Metro 风格的幻灯片 UI,其中幻灯片以循环方式一个接一个地显示,这里是代码链接:

http://jsfiddle.net/cgTqV/9/

问题是在一轮显示幻灯片后,幻灯片过渡不再正常工作。它的速度非常快,并且与第一次运行时的工作方式不同。我无法找到错误。请找到错误并告诉我出了什么问题。

您的浏览器可能会在第一次完成转换后崩溃,请使用 alert("foo"); 防止它。

4

1 回答 1

1

正如马可建议的那样替换代码片段......下面给出的那个

setInterval(function() {........  }, tiledelay);

有了这个

        interval = window.clearInterval(interval);   //only these two lines are the important ones
        interval = window.setInterval(function() {   //and this
            if (count <= (items.length - 1)) {       //below this is the same old code...
                count++; //Increment count
                previouscount = count - 1; //Set previous
                showtile();
            }
            if (count == items.length - 1) {
                count = 0;
                for (var i = 0; i < items.length; i++) {
                    $(items[i]).animate({
                        top: "200px"
                    }, tilespeed);
                }
                showtile();
            }
        }, tiledelay);

之后

var previouscount=-1;//Count to check prvious <li> element/tile

添加这个

var interval;

我只是添加了代码以在每次调用中重新启动计时器。

请告诉我这是否有帮助..也许您正在寻找其他东西..

于 2012-04-11T10:07:33.087 回答