我已经制作了一个带有id"关于"使用 display:none 并编写了此脚本:
function showbox() {
document.getElementById('about').style.display="block"
};
并将该函数作为事件添加到另一个div:
<div class="button" onClick="slide();setTimeout(showbox(),3000)">About</div>
这样当用户点击带有&#34;按钮&#34;的div时id为#34;关于&#34;将在3秒后出现,代码与显示部分一起工作,但它不会延迟任何事情! 注意:功能幻灯片()存在且运行良好,并且不会干扰任何事情,所以不要质疑。
请告诉我出了什么问题。 感谢。
答案 0 :(得分:3)
更好的方法论:分离关注点。内联javascript是不好的做法。只是我们一个事件听众!
var element; //grab element however you want
element.addEventListener("click",function() {
slide();
setTimeout(showbox,3000);
},false);
正如其他人所说,您需要将函数引用传递给超时。让()
立即调用该函数。
答案 1 :(得分:2)
showbox
就是你所需要的。删除()
。
答案 2 :(得分:2)
// You are *calling* showbox() here -- not passing the function ref as a parameter.
// Use this instead.
<div class="button" onClick="slide();setTimeout(showbox,3000)">About</div>