2

このスクリプトは、2 つの個別の iframe のコンテンツを切り替えるために使用されます。それぞれに固有のコンテンツがあり、同期する必要があります。私はもともと、キーアップトリガーでのみ順方向に循環するように作成しました。うまくいきました。次に、「戻る」ボタン イベントで逆方向に循環するように求められました。

循環しますが、逆方向のサイクルでは、iframe のコンテンツが同期しなくなり、サイクルは反復的ではなく、順方向のサイクルのどこにいるかに応じてランダムに見え、iFrame 間をジャンプします。

コードは順方向サイクルで機能しますが、それを壊したくありません。

    <script>
  $(document).ready(function(){
    var locations = ["Assets/Assets0.html", "Assets/Assets1.html", "Assets/Assets2.html", "Assets/Assets3.html"];
    var details = ["Details1/Details0.html", "Details1/Details1.html", "Details1/Details2.html", "Details1/Details3.html"];
    var len = locations.length;
    var len2 = details.length;
    var iframe = $('#Results');
    var iframe2 = $('#Description');
    var i = 0;
    $(document.documentElement).keyup(function (event) {
        // handle delete key
        if (event.keyCode == 8) {
            $(iframe).attr('src', locations[--i % len]);
            $(iframe2).attr('src', details[-i % len2]);

        // all other keys
        } else  {
            $(iframe).attr('src', locations[++i % len]);
            $(iframe2).attr('src', details[+i % len2]);
          }
        });

  });
</script>
4

1 に答える 1

0

負の数のモジュロは何か変です...試してみてください:

-1 % 3たとえば、実際には 3 (最後の要素) が返されることを期待します2

私の提案は、if対処するために「戻る」コードを回避することi == 0です。

于 2012-12-06T17:15:32.070 に答える