我设法让一些js工作让我惊讶,现在我想让它变得更复杂,这是出于我的专业知识。
点击后我有一个按钮会重新加载我页面上的iframe。我有多个iframe,但隐藏了1个iframe。然后我使用jquery显示不同的iframe并隐藏前一个,具体取决于点击的导航按钮。例如“1-btn”(nav btn)与“1-win”(iframe)相关联,“2-btn”(nav btn)与“2-win”(iframe)等相关联。所以当你点击“2-btn”时,“1-win”iframe隐藏,显示“2-win”iframe。现在我想改变我的代码,所以这与我重新加载javasrcipt有关。目前,我的js仅通过iframe ID重新加载1个iframe。我想每次更改此ID到不同的iframe。这将允许我的重载btn仅重新加载显示的当前iframe,而不是任何隐藏的其他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”(nav)显示“2-win”iframe时我想将重新加载ID更改为“2-win”。
我想在我的导航按钮中使用onClick,它通过导航btn所绑定的iframe的id。但是,我不知道该怎么做。
有关完整代码,请参阅: https://github.com/tmacka88/Service-Manager 对不起,如果这没有任何意义,我想不出更容易解释的方法。
由于
答案 0 :(得分:0)
修改强>
由于问题得到了更好的定义,以下答案可能仍然适用,也可能不适用。
您可以尝试的一种方法是在页面上有一个隐藏字段,其中包含iframe的Id的分号分隔列表。 E.g。
<input type="hidden" name="iframeids" value="1;2;3;4;5">
在按钮的click事件中,调用一些获取隐藏字段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函数中包含重新安排等的逻辑。
答案 1 :(得分:0)
现在问题得到了更好的定义,我们可以找到合适的解决方案。
以下是一些设计注意事项:
第2点 - jQuery将帮助第1点。
现在我们有了这个理解,让我们来看看我们需要做的事情:
iframe
标记iframe
,使用jquery生成一个按钮,使用src
中的id
和iframe
等值作为按钮上的属性click
- 事件代码,确定点击时需要执行的操作答案 2 :(得分:0)
这就是诀窍:
function Reload()
{
$("iframe").each(function()
{
if($(this).is(':visible'))
$(this).attr('src', $(this).attr('src'));
});
}