我喜欢做一个“后台计时器”,但我不知道怎么做。主要的事情:我有if,如果我进去了,我喜欢设置时间,并启动一个计时器($ido = $split[0]*60*60 + $split[1]*60 + $split[2]; sleep($ido);)
,在这个计时器结束后,我喜欢运行一个函数($jatek->epuletkesz();)
,但是,在这个if之后,我有另外的事情,如果我开始睡眠,页面加载就会停止,因为等待睡眠结束。但我喜欢,睡眠是在“后台”进行的,不会停止页面的东西,只有一个函数在睡眠结束后运行。(对不起,我的英语不好,希望你能理解我的问题。)
代码如下:
if(empty($üzi)) {
echo "<script type='text/javascript'>alert('Sikeres fejlesztés!');</script>";
$nyers = $jatek->kovnyers($epulet);
$split = explode(":", $nyers['epetesiido']);
$ido = $split[0]*60*60 + $split[1]*60 + $split[2];
sleep($ido);
$jatek->epuletkesz();
//header( 'Location: ../views/jatek.php' );
}
发布于 2015-04-21 16:06:09
一种可能的解决方案是在css中生成一些具有不同背景的类。如下所示:
.background1 {
background: url('../img/img1.jpg');
}
.background2 {
background: url('../img/img1.jpg');
}
在javascript中,您需要一个函数来更改背景,如下所示:
/**
* elem jquery elemnt to update
* background class to add
*/
var updateBackground = function(background, elem) {
var bck_list = ['background1', 'background2'];
elem.addClass(active);
jQuery.each(bck_list, function( index, value ) {
if (value !== active) {
elem.removeClass(value);
} else {
var next_index = index + 1;
}
});
// check if the next background exists
if (bck_list[next_index] === undefined) {
next_index = 0;
}
setTimeout(function(){ updateBackground(bck_list[next_index], elem); }, 30000);
}
最后是一个计时器:
setTimeout(function(){ updateBackground("background1", $('#elem_to_update')); }, 30000);
https://stackoverflow.com/questions/29765944
复制相似问题