Javascript Jquery正确隐藏iframe,但单击时不显示它
使用下面的jquery:Javascript Jquery正确隐藏iframe,但单击时不显示它,javascript,php,jquery,html,iframe,Javascript,Php,Jquery,Html,Iframe,使用下面的jquery: <script> $(document).ready(function(){ $("#myiframe").hide(); }); $(document).ready(function(){ $("#submit").click(function(){ $("#myiframe").delay(1000).show(0); }); }); </script> $(document).ready(function(){$(“#myiframe”
<script>
$(document).ready(function(){ $("#myiframe").hide(); });
$(document).ready(function(){ $("#submit").click(function(){ $("#myiframe").delay(1000).show(0); }); });
</script>
$(document).ready(function(){$(“#myiframe”).hide();});
$(文档).ready(函数(){$(“#提交”)。单击(函数(){$(“#myiframe”)。延迟(1000)。显示(0);});
即使在php脚本中,我也可以成功隐藏在“if”中声明的iframe。
见下文:
<?php
$minAge = 22;
$minAge *= 3600*24*365.25; // $minAge in seconds
if(isset($_POST['submit'])){
$birth_date = strtotime($_POST['dob']);
$now = strtotime("now");
$age = $now - $birth_date; // age is in seconds
?>
<iframe id = "myiframe" style='position: absolute; z-index: 10; height: 100%;'
src = "<?php echo ($age > $minAge ? 'http://URL1.com' : 'http://URL2.com'); ?>"
frameborder = "0"
width = "350px"
</iframe>
您的jQuery可以重写为:
$(document).ready(function() {
$('#myiframe').hide();
$('#form').submit(function() {
setTimeout(function() { $('#myiframe').show();}, 1000);
});
});
由于您正在提交表单,因此最好使用submit
事件处理程序,而不是单击
。我不太熟悉jQuery的delay
函数,但是setTimeout
设置指定时间的延迟,应该可以实现您想要的。希望这有帮助 您的jQuery可以重写为:
$(document).ready(function() {
$('#myiframe').hide();
$('#form').submit(function() {
setTimeout(function() { $('#myiframe').show();}, 1000);
});
});
由于您正在提交表单,因此最好使用submit
事件处理程序,而不是单击
。我不太熟悉jQuery的delay
函数,但是setTimeout
设置指定时间的延迟,应该可以实现您想要的。希望这有帮助 您的jQuery可以重写为:
$(document).ready(function() {
$('#myiframe').hide();
$('#form').submit(function() {
setTimeout(function() { $('#myiframe').show();}, 1000);
});
});
由于您正在提交表单,因此最好使用submit
事件处理程序,而不是单击
。我不太熟悉jQuery的delay
函数,但是setTimeout
设置指定时间的延迟,应该可以实现您想要的。希望这有帮助 您的jQuery可以重写为:
$(document).ready(function() {
$('#myiframe').hide();
$('#form').submit(function() {
setTimeout(function() { $('#myiframe').show();}, 1000);
});
});
由于您正在提交表单,因此最好使用submit
事件处理程序,而不是单击
。我不太熟悉jQuery的delay
函数,但是setTimeout
设置指定时间的延迟,应该可以实现您想要的。希望这有帮助 好吧,我知道你现在想做什么,但那样不行。有两种方法可以做到这一点:
在PHP中执行年龄验证检查,并仅在验证成功时打印iframe。这样做的缺点是它会重新加载页面,这显然是您不想要的行为
在Javascript中执行年龄验证检查,但您必须通过e.preventDefault()
拦截表单提交处理程序,使其不重新加载页面
第三种选择是使用AJAX调用,如果你真的坚持使用PHP进行年龄验证,那就太过分了。好的,我知道你现在想做什么,但这样不行。有两种方法可以做到这一点:
在PHP中执行年龄验证检查,并仅在验证成功时打印iframe。这样做的缺点是它会重新加载页面,这显然是您不想要的行为
在Javascript中执行年龄验证检查,但您必须通过e.preventDefault()
拦截表单提交处理程序,使其不重新加载页面
第三种选择是使用AJAX调用,如果你真的坚持使用PHP进行年龄验证,那就太过分了。好的,我知道你现在想做什么,但这样不行。有两种方法可以做到这一点:
在PHP中执行年龄验证检查,并仅在验证成功时打印iframe。这样做的缺点是它会重新加载页面,这显然是您不想要的行为
在Javascript中执行年龄验证检查,但您必须通过e.preventDefault()
拦截表单提交处理程序,使其不重新加载页面
第三种选择是使用AJAX调用,如果你真的坚持使用PHP进行年龄验证,那就太过分了。好的,我知道你现在想做什么,但这样不行。有两种方法可以做到这一点:
在PHP中执行年龄验证检查,并仅在验证成功时打印iframe。这样做的缺点是它会重新加载页面,这显然是您不想要的行为
在Javascript中执行年龄验证检查,但您必须通过e.preventDefault()
拦截表单提交处理程序,使其不重新加载页面
第三种选择是,如果您确实坚持使用PHP进行年龄验证,那么可以使用AJAX调用,但这样做太过分了。当您点击submit时,页面是否会自动重新加载?因为我看不到您阻止表单提交。请尝试:$(文档).ready(函数(){$(“#提交”)。单击(函数(e){e.preventDefault();$(“#myiframe”)。delay(1000)。show(0);})代码>@denat,嗯?不,页面本身没有重新加载,我不希望它这样做。如果不在标题中使用jquery脚本隐藏iframe,它会显示得很好(iframe),但是我希望它显示得有延迟,因此我默认情况下会隐藏它,并希望使用.show()
@Snowlav Try a设置超时
@vihan1086再次显示它,感谢您的建议,但在实现该代码时,它不会加载或显示iframe。(您第一次回复中的代码)当您点击submit时,页面是否正在重新加载自身?因为我看不到您阻止表单提交。请尝试:$(文档).ready(函数(){$(“#提交”)。单击(函数(e){e.preventDefault();$(“#myiframe”)。delay(1000)。show(0);})代码>@denat,嗯?不,页面本身没有重新加载,我不希望它这样做。如果不在标题中使用jquery脚本隐藏iframe,它会显示得很好(iframe),但是我希望它显示得有延迟,因此我默认情况下会隐藏它,并希望使用.show()
@Snowlav Try a设置超时
@vihan1086再次显示它,感谢您的建议,但在实现该代码时,它不会加载或显示iframe。(您第一次回复中的代码)当您点击submit时,页面是否正在重新加载自身?因为我