我有隐藏第一个iframe并显示下一个iframe的函数Nextthing
,但正如您在函数代码中看到的那样,我只为下一个iframe执行了操作,所以如果他为第二个iframe隐藏它并显示它将显示但在错误位置的下一个iframe。
如何在一次运行后停止该功能?
function Nextthing (){
$("#i").hide();
$('.table').eq(1).find('tbody tr').eq(2).after(
'<tr><td colspan=10><iframe class="iframe" src="/msg.html?msgId=' +
$('.table').eq(1).find('tbody tr').eq(2)
.find('td a').eq(0).text()+'&constant=1"></iframe></td></tr>);
}
更新:正如您可以看到从该页面msg.html调用iframe,该页面有一个输入和一个提交按钮,并在该按钮中调用函数Nextthing
,如下所示:
<input type="submit" onclick="parent.Nextthing();" />
当有人按下iframe中的提交按钮时,它会根据msgId加载msg.html下一页的iframe,我希望这个加载只有一次......
答案 0 :(得分:2)
你可以使用
.one()
handler ..它将运行一次代码并停止执行。
$('input[type=submit]').one('click', function() {
$("#i").hide();
$('.table').eq(1).find('tbody tr').eq(2).after('<tr><td colspan=10><iframe class="iframe"
src="/msg.html?msgId='+$('.table').eq(1).find('tbody tr').eq(2).find('td
a').eq(0).text()+'&constant=1"></iframe></td></tr>);
});
答案 1 :(得分:0)
为此,我通常只有一个全局变量,例如elTriggers = false,并检查它并在触发时使其成立。您还可以查看jquery的one函数。