我的php页面在页面顶部有任何jquery之前的一个名为$pause
的php变量。
分配给它的值从数据库中读取。
我正在尝试使用jquery显示一个div,然后延迟$ pause值然后隐藏div。
这显示并隐藏了div,如何添加延迟?
$("#div1").show();
$("#div1").hide();
由于
答案 0 :(得分:2)
为HTML元素添加$ pause ...例如body:
<body data-pause="<?=$pause?>" >
</body>
和js:
$("#div1").show();
setTimeout(function () {
$("#div1").hide();
}, parseInt($('body').attr('data-pause'), 10));
答案 1 :(得分:2)
如果你可以在你的js中解析php,你可以echo
:
var pause = <?php echo $pause; ?>
如果没有,请将值附加到隐藏input
等元素,以便您可以使用jquery访问该值。
然后你可以这样做:
$('#div1').show().delay(pause).hide(0);
注意:您需要将duration
传递给hide()
才能使delay()
正常工作:
当提供持续时间,普通对象或“完整”功能时,.hide()成为动画方法
答案 2 :(得分:-1)
如果你想保持你的javascript inline在你的html结尾处写这个
<script>
$("#div1").show(0).delay(<?php echo $pause; ?>).hide(0);
</script>
如果您不想将代码保持为内联,则可以向元素添加属性并使用该属性:
例如:
<div id="div1" delaytime="<?php echo $pause; ?>">Hello World</div>
最后使用下面的javascript:
$("#div1").show(0).delay(jQuery(this).attr('data-pause')).hide(0);