0

スライドが循環的に次々に表示されるjqueryを使用してメトロスタイルのスライドUIを実装しようとしています。コードリンクは次のとおりです。

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

問題は、スライドを1ラウンド表示した後、スライドの遷移が正しく機能しなくなることです。非常に高速で、最初の実行時とまったく同じようには機能しません。バグを見つけることができません。バグを見つけて、何が悪かったのか教えてください。

最初の完全な移行後にブラウザがクラッシュする可能性があります。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 に答える