1

我的 php 页面在任何 jquery 之前的页面顶部都有一个名为$pause. 分配给它的值是从数据库中读取的。

我尝试使用 jquery 做的是显示一个 div,然后延迟 $pause 值,然后隐藏 div。

这显示和隐藏了 div,如何添加延迟?

$("#div1").show();
$("#div1").hide();

谢谢

4

3 回答 3

2

如果您可以在 js 中解析 php,则可以echo

var pause = <?php echo $pause; ?>

如果没有,请将值附加到隐藏元素等元素,input以便您可以使用 jquery 访问该值。

然后你可以这样做:

$('#div1').show().delay(pause).hide(0);

注意:您需要通过durationtohide()才能delay()工作:

当提供持续时间、普通对象或“完整”函数时,.hide() 成为动画方法

这是一个小提琴

于 2013-08-09T08:13:15.433 回答
2

将 $pause 添加到 HTML 元素...例如正文:

<body data-pause="<?=$pause?>" >

</body>

和js:

$("#div1").show();

setTimeout(function () {
    $("#div1").hide();
}, parseInt($('body').attr('data-pause'), 10));
于 2013-08-09T08:10:45.937 回答
-1

如果您想保留您的 javascript 内联,请在您的 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);
于 2013-08-09T08:23:06.823 回答