首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在php中设置后台定时器

在php中设置后台定时器
EN

Stack Overflow用户
提问于 2015-04-21 15:43:41
回答 1查看 751关注 0票数 1

我喜欢做一个“后台计时器”,但我不知道怎么做。主要的事情:我有if,如果我进去了,我喜欢设置时间,并启动一个计时器($ido = $split[0]*60*60 + $split[1]*60 + $split[2]; sleep($ido);),在这个计时器结束后,我喜欢运行一个函数($jatek->epuletkesz();),但是,在这个if之后,我有另外的事情,如果我开始睡眠,页面加载就会停止,因为等待睡眠结束。但我喜欢,睡眠是在“后台”进行的,不会停止页面的东西,只有一个函数在睡眠结束后运行。(对不起,我的英语不好,希望你能理解我的问题。)

代码如下:

代码语言:javascript
复制
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' );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-21 16:06:09

一种可能的解决方案是在css中生成一些具有不同背景的类。如下所示:

代码语言:javascript
复制
.background1 {
    background: url('../img/img1.jpg');
}

.background2 {
    background: url('../img/img1.jpg');
}

在javascript中,您需要一个函数来更改背景,如下所示:

代码语言: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);
}

最后是一个计时器:

代码语言:javascript
复制
setTimeout(function(){ updateBackground("background1", $('#elem_to_update')); }, 30000);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29765944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档