jQuery自动更改日期而不使用setInterval刷新页面

时间:2017-10-30 06:39:59

标签: javascript

我需要在我的js函数上自动刷新日期。

function jadwal_sholat()
{
    geo = [1.03000000, 103.92000000, 3.07];
    timezone = +7;

    prayTimes.tune( {imsak: 2, subuh: 2, dhuhur: 2, ashar: 2, maghrib: 2, isya: 2} );

    var date = new Date(); // today
    var times = prayTimes.getTimes(date, geo, timezone);
    var list = ["Subuh", "Dhuhur", "Ashar", "Maghrib", "Isya"];
    var thisday=date.getDay();
    var thismonth=date.getMonth();
    var thisdate=date.getDate();
    var thisyear=date.getFullYear();
    var months = new Array("Januari", "Pebruari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "Nopember", "Desember");
    var name_of_days = new Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum"+"'"+"at", "Sabtu");
    var day_name = name_of_days[thisday];
    var monthname = months[thismonth];
    var tanggal = day_name+", "+thisdate+" "+monthname+" "+thisyear;

    var html = '<table id="timetable">';
    html += '<tr><th colspan="2">'+tanggal+'</th></tr>';
    for(var i in list)  {
        html += '<tr><td style="width:50%";>'+ list[i]+ '</td>';
        html += '<td align="center">'+ times[list[i].toLowerCase()]+"&nbsp;&nbsp;&nbsp;"+'</td></tr>';
    }
    html += '<tr><th colspan="2" style="margin:0;padding:0;font-weight:normal;text-align:left;"><ul style="list-style:none;margin:0;padding:5px 3px;"><li>Imsak&nbsp;:&nbsp;'+times.imsak+'&nbsp;'+'</li><li>Subuh&nbsp;: 20&deg; ,&nbsp;Isya&nbsp;: 18&deg;</li><li>Waktu sudah ditambah 2 menit</center></li></ul></td></tr>';
    html += '</table>';
    document.getElementById('table').innerHTML = html;
}

function show() {
    jadwal_sholat();
}

window.onload=function(){show()}

我希望基于今天更新的日期更改可能使用setInterval?

var date = new Date(); // today

我需要这样做,因为每个更改日期数据都会有不同的值。

是否可以使用jQuery自动刷新来设置每1秒的间隔?

其他信息

enter image description here

如上图所示,该功能将加载时间祈祷。现在我想让它自动显示,如果我们明天约会而不刷新浏览器。

意味着,日期将更改为2017年10月31日,然后根据当前日期获得以下祈祷时间。

2 个答案:

答案 0 :(得分:1)

您可以使用set timeout并调用函数jadwal_sholat。以下是您需要添加的示例代码。这将在不刷新浏览器的情况下更新时间。

loadTime = function(){
    jadwal_sholat();
    setTimeout(loadTime, 1)
}
loadTime();

工作JS小提琴:https://jsfiddle.net/hkLna719/

答案 1 :(得分:0)

下面的代码应该做的工作

setInterval(function(){ jadwal_sholat(); }, 1000*60*24);