我想每10秒执行一次代码,但是在第一次点击后。我的意思是当访问者在开始时点击页面上的任何位置然后每10秒钟点击时,我希望代码执行。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.body.onclick= function(){
window.open('http://www.google.com', 'poppage', 'toolbars=0, scrollbars=1, location=0, statusbars=0, menubars=0, resizable=1, width=950, height=650, left = 5, top = 5');
}
</script>
<input type="button" value="button" onclick="">
</body>
</html>
请帮助我,我迫切需要这个代码。
答案 0 :(得分:0)
你可以使用jQuery做这样的事情。
$(function() {
$('html').on('click', function(){
$.setTimeout(function() {
// do something every 10 seconds after the first click.
}, 10000);
});
});
当然,您必须包含jQuery库。
答案 1 :(得分:0)
以下是纯javascript中的一个示例,虽然我不确定您要实现的目标:
var running=false, timeout;
document.body.onclick= toggleScript;
function toggleScript(){
running=!running;
if(!running) clearTimeout(timeout);
else doTheLoop();
}
function doTheLoop(){
/* Do something */
timeout = setTimeout(doTheLoop,10000);
}
点击here,查看它是否与您的代码一起运行(window.open)。
答案 2 :(得分:-1)
你的意思是这样的:
function doSomething() {
window.open('google.com', 'poppage', 'toolbars=0, scrollbars=1, location=0, statusbars=0, menubars=0, resizable=1, width=950, height=650, left = 5, top = 5');
}
document.body.onclick=function() {
document.body.onclick = null; // Disable the onclick
doSomething();
setInterval(doSomething, 10000);
}
setInterval的第二个参数是以毫秒为单位的时间,这就是我传入10000(10000毫秒= 10秒)的原因。
第一个参数是您要执行的功能。您还可以使用匿名函数,这更适合传递参数:
setInterval(function() { doSomething(); }, 10000);
要在评论中解决作者的请求,以下代码将在单击文档时打开一个弹出窗口,然后每10秒“刷新”5次。
var intervalCounter = 0, intervalId = 0;
var intervalDelay = 10000; // Time in milliseconds
var popupWindow = null, popupWindowURL = "http://www.google.com";
var urlIndex = 0;
var urlList = [
"http://www.google.com",
"http://www.youtube.com",
"http://www.yahoo.com"
];
function refreshPopup() {
if (popupWindow && !popupWindow.closed) {
//popupWindow.location.reload(); // Some browsers may not allow this
popupWindow.location.href = popupWindowURL;
}
if (intervalId && (++intervalCounter) > 5) {
clearInterval(intervalId);
intervalCounter = 0;
}
}
// User clicked on the page somewhere
document.body.onclick=function() {
// If no popup window exists, then create it
if (!popupWindow || popupWindow.closed) {
urlIndex = urlIndex < urlList.length ? urlIndex : 0;
popupWindowURL = urlList[urlIndex]
urlIndex++;
popupWindow = window.open(popupWindowURL, 'poppage', 'toolbars=0, scrollbars=1, location=0, statusbars=0, menubars=0, resizable=1, width=950, height=650, left = 5, top = 5');
}
clearInterval(intervalId);
intervalId = setInterval(refreshPopup, intervalDelay); //
}