令我惊讶的是,我设法让一些 js 正常工作,现在我想让它变得更复杂一点,这超出了我的专业知识范围。
我有一个按钮,点击它会重新加载我页面上的 iframe。我有多个 iframe,只有 1 个是隐藏的。然后我使用 jquery 显示不同的 iframe 并根据点击的导航按钮隐藏前一个。例如“1-btn”(nav btn)绑定(bind)到“1-win”(iframe),“2-btn”(nav btn)绑定(bind)到“2-win”(iframe)等。所以当你点击“2-btn” , “1-win” iframe 隐藏,“2-win” iframe 显示。现在我想更改我的代码,以便与我重新加载 javasrcipt 相关联。目前,我的 js 仅通过 iframe id 重新加载 1 个 iframe。我想每次都将此 id 更改为不同的 iframe。这将允许我的 Reload btn 仅重新加载当前显示的 iframe,而不是任何其他隐藏的。
这是我的 Reload js
function Reload () {
var f = document.getElementById('1-win');
f.src = f.src;
}
如您所见,此重新加载脚本仅适用于 iframe“1-win”。当我单击“2-btn”导航显示“2-win”iframe(并隐藏“1-win”)时,重新加载按钮仍然只适用于“1-win”。因此,我希望它也改变。例如当我单击“2-btn”(导航)以显示“2-win”iframe 时,我也想将 Reload id 更改为“2-win”。
我正在考虑在我的导航按钮中使用 onClick,它通过导航 btn 绑定(bind)到的 iframe 的 id。但是,我不知道该怎么做。
完整代码见: https://github.com/tmacka88/Service-Manager 抱歉,如果这没有任何意义,我想不出更简单的方法来解释它。
谢谢
最佳答案
编辑
既然问题已经得到更好的定义,下面的答案可能仍然适用,也可能不适用。
您可以尝试的一种方法是在页面上设置一个隐藏字段,其中包含一个以分号分隔的 iframe Id 列表。例如
<input type="hidden" name="iframeids" value="1;2;3;4;5">
在您的按钮的点击事件中,调用一些获取隐藏字段的 value
的 JavaScript,获取分号前的第一个标记,然后重新组织字符串。一个例子:
// Next value is 1
// Use 1 in your JS
// Put 1 to the end, next is now 2
<input type="hidden" name="iframeids" value="2;3;4;5;1">
您将在 JS 函数中包含重新排列等逻辑。
关于javascript - 使用 onClick var 在 javascript 中更改 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247419/