朋友。我有这个代码,我希望每5秒执行一次amurFunc()
。
执行是一个监听器,监听用户是否单击了div。他实际上可以每5秒点击一次。你能帮我弄明白我哪里做错了。
代码:
<div id=amur>
</div>
<script>
document.getElementById("amur").addEventListener('click', amurFunc());
function amurFunc() {
var funcTimer = 0;
while (funcTimer == 0) {
window.open('http://google.com','_blank');
funcTimer = 5;
while (funcTimer > 0) {
setInterval(
function () {
funcTimer--;
}, 1000;
);
}
}
}
</script>
答案 0 :(得分:1)
试试这个
<div id="amur" style="background-color:red">
<p>Test</p>
</div>
var el = document.getElementById('amur');
el.addEventListener('click',amurFunc);
var clicked = 0;
var d = new Date();
var s = d.getTime();
//console.log(s);
function amurFunc(){
if(clicked==0){
window.open('http://google.com', '_blank');
clicked++;
}else{
var clickedDate = new Date();
var clickedSecond = clickedDate.getTime();
//console.log(clickedSecond-s);
if((clickedSecond-s)>=5000){
window.open('http://google.com', '_blank');
s = clickedSecond;
}
}
}
答案 1 :(得分:0)
这将每5秒开始.isFunction
amurFunc()
但你想每5秒做什么?
你想每5秒打开一次页面吗?
为什么要点击启动它?
打开页面5秒试试这个
setInterval(function() {
amurFunc();
} ,5000)
这是按钮
setTimeout(function() {
window.open('http://google.com', '_blank');
}, 5000);
这里是javascript
<input type="button" id="btn" value="">
答案 2 :(得分:0)
最简单的解决方案是使用每5秒重置一次的标志。见下文:
//initially allowed to be clicked
var flag = true;
document.getElementById('amur').onclick = function(){
if (flag) {
window.open('http://google.com','_blank');
//disable click
flag = false;
//after 5 secs, click will be enabled again
setTimeout(function(){
flag=true;
},5000);
}
}