2

此脚本用于切换两个独立 iframe 中的内容。每个都有自己的特定内容,确实需要同步。我最初创建它只是为了在任何 keyup 触发器上循环前进。它工作得很好。然后我被要求在“返回”按钮事件上向后循环。

它循环,但现在在后向循环中,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 回答