我有一个脚本,显示2个div并在用户提交表单后隐藏1个div。表单的目标是同一页面上的Iframe。 Iframe需要一段时间才能加载。
我想延迟隐藏/显示事件,直到加载Iframe。我能够通过加载动画执行此操作,但我不确定如何使用隐藏/显示脚本执行此操作。
这是隐藏/显示脚本
$(function () {
$('#form_710370').submit(function (e) {
e.preventDefault(); // add this
$('#form_container').hide()
$('#mydivhide1, #mydivhide2').show();
return false;
});
});
这是HTML
<div id="mydivhide1">1111</div>
<div id="mydivhide2">2222</div>
<div id="form_container">
<form id="form_710370" target="iframe" method="post" convert.php">
<input id="Website" name="url1" type="text" value=""/>
<input id="saveForm" type="submit" name="submit" value="submit" />
</form>
</div>
这是相关的CSS
#mydivhide1 {display:none;}
#mydivhide2 {display:none;}
答案 0 :(得分:0)
试试这个
timeout = setTimeout(function () {
$('#form_container').hide();
}, 6000);
答案 1 :(得分:0)
检测到您的iFrame已加载:
$('#YourIframe').load(function(){
});
在提交的表单上
$("#form_710370").on('ajax:complete',function(){
});
答案 2 :(得分:0)
将隐藏和显示代码放在iframe load()函数中。
$('#frame').load(function(){
$('#form_container').hide();
$('#mydivhide1, #mydivhide2').show();
});
答案 3 :(得分:0)
// delay
setTimeout(function () {
// after delay
$('#form_container').animate({
'height': '0px'
}, '400', 'swing', function () {
// finish animate fadeIn
$('#mydivhide1, #mydivhide2').fadeIn('400');
});
}, '700');
希望是帮助