每隔15分钟触发一次功能

时间:2016-02-09 16:23:25

标签: javascript settimeout

我有这个每小时运行一次的功能:

    (function worker() {
        $.ajax({
            url: 'retrieve_wf.php',
            type:"POST",
            data: {hk: "<?php echo $hk; ?>"},
            success: function(data) {
                infoes = data.split("|");
                var layout = infoes[0];
                var id = infoes[1];
                if(layout==0){
                    $('.scheda').hide();
                    $('#0').show();
                }else if(layout==1) {
                    //ho scelto il layout video + testo
                        $.ajax({
                            type:"POST",
                            url: 'retrieve.php',
                            data: {layout: layout, id: id},
                            success: function(data){
                                data1=data.split("|");
                                $('#coldx p').html(data1[0]);
                                $('#colsin video source').attr('src', data1[1]);
                                $("#colsin video")[0].load();
                                $('#riga>marquee').html(data1[2]);
                                /*$('#riga').marquee({
                                    speed: 5000,
                                    gap: 50,
                                    delayBeforeStart: 0,
                                    direction: 'left',
                                    duplicated: true,
                                    allowCss3support: true
                                });
                                */
                            },
                            complete: function(){
                                $('.scheda').hide('fast');
                                $('#'+layout).show('fast');
                            }
                        });
                }else if(layout==2) {
                    //ho scelto il layout testo a tutto schermo
                        $.ajax({
                            type:"POST",
                            url: 'retrieve.php',
                            data: {layout: layout, id: id},
                            success: function(data){
                                $('#testo_grande').html(data);
                                },
                            complete: function(){
                                $('.scheda').hide('fast');
                                $('#'+layout).show('fast');
                            }
                        });
                }else if(layout==3) {
                    //ho scelto il layout con dati esterni
                    //code
                }    
            },
            complete: function() {
              // Pianifico la funzione per ripartire dopo un'ora (dovrei forse mettere qualche secondo di più)
              setTimeout(function(){setTimeout(function(){location.reload();},10000)},3600000 - ((new Date) % 3600000));
            }
        });
    })();

我可以随时打开页面,所以我必须设置它才能在确切的时间进行第一次重新加载(例如,如果我在8:36打开页面,它将在9处重新加载: 00然后每小时而不是9:36等等。

现在的要求是做同样的事情但是用了一刻钟。因此,如果我在8:36打开页面,则第一次重新加载应该是8:45然后是9:00,9:15,9:30,依此类推。如何重写规则以按季度进行规划?

1 个答案:

答案 0 :(得分:0)

只需将3600000(1小时= 3600秒= 3600000毫秒)更改为900000(15分钟= 900秒= 900000毫秒)。