通过切换和空闲检查每 5 秒获取一次文件不会停止
var timeoutId;
function getenginedetails(){
$.get('engine.php', function(enginedata) {
$('#detailsoutput').html(enginedata);
})
timeoutId = setTimeout(getenginedetails, 5000);
}
getenginedetails();
$(document).ready(function(){
$('#pause').toggle( function() {
clearTimeout(timeoutId);
('#pause').attr({ value: "Start" });
}, function() {
getenginedetails();
('#pause').attr({ value: "pause" });
});
});
$.idleTimer(60000);
$(document).bind("idle.idleTimer", function(){
clearTimeout(timeoutId);
('#pause').attr({ value: "Start" });
});
你好,我正在使用 jQuery 空闲计时器插件 ( http://paulirish.com/2009/ jquery-idletimer-plugin/ )来检查用户是否在 60 秒内没有空闲。如果他空闲,它将停止获取engine.php 文件。我还想添加一个暂停按钮,如果用户空闲,游戏会自动暂停。但整件事都行不通。它只获取文件,当我按下按钮时,文件会再次出现。
编辑:
@Mash:
var paused = false;
function getenginedetails(){
$.get('engine.php', function(enginedata) {
$('#detailsoutput').html(enginedata);
})
if (!paused){
timeoutId = setTimeout(getenginedetails, 5000);
}
}
function setpause(){
paused = true;
('#pause').attr({
value: " Haal van pauze af ",
onclick: "setnonpause();"
});
}
function setnonpause(){
paused = false;
('#pause').attr({
value: " Zet op pauze ",
onclick: "setpause();"
});
}
$.idleTimer(60000);
$(document).bind("idle.idleTimer", function(){
setpause();
});
getenginedetails();
这也不起作用。我在 ('#pause').attr({
?
var timeoutId;
function getenginedetails(){
$.get('engine.php', function(enginedata) {
$('#detailsoutput').html(enginedata);
})
timeoutId = setTimeout(getenginedetails, 5000);
}
getenginedetails();
$(document).ready(function(){
$('#pause').toggle( function() {
clearTimeout(timeoutId);
('#pause').attr({ value: "Start" });
}, function() {
getenginedetails();
('#pause').attr({ value: "pause" });
});
});
$.idleTimer(60000);
$(document).bind("idle.idleTimer", function(){
clearTimeout(timeoutId);
('#pause').attr({ value: "Start" });
});
Hi, I'm using the jQuery idle timer plugin ( http://paulirish.com/2009/jquery-idletimer-plugin/ ) to check if the user wasn't idle for 60 seconds. If he is idle it stops getting the engine.php file. Also I wanna add a pause button, and if the user was idle put the game automaticly on pause. But the whole thing doesn't work. It only gets the file and when I press the button the file comes in again.
Edit:
@Mash:
var paused = false;
function getenginedetails(){
$.get('engine.php', function(enginedata) {
$('#detailsoutput').html(enginedata);
})
if (!paused){
timeoutId = setTimeout(getenginedetails, 5000);
}
}
function setpause(){
paused = true;
('#pause').attr({
value: " Haal van pauze af ",
onclick: "setnonpause();"
});
}
function setnonpause(){
paused = false;
('#pause').attr({
value: " Zet op pauze ",
onclick: "setpause();"
});
}
$.idleTimer(60000);
$(document).bind("idle.idleTimer", function(){
setpause();
});
getenginedetails();
This doesn't work neither. I get an error at ('#pause').attr({
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 getenginedetails() 函数中,您应该检查它是否已暂停,因此,不要调用 setTimeout(getenginedetails, 5000)
为此,您必须添加一个布尔变量,例如:
var Paused = false;
,该函数将如下所示:
In your getenginedetails() function, you should check if it's paused, of so, do not call the setTimeout(getenginedetails, 5000)
For this, you will have to add a boolean variable like:
var paused = false;
and the function will look like this: