在某个时间刷新Div

时间:2013-11-20 04:51:09

标签: php jquery html refresh

好的,所以我正在创建一个广播播放器,基本上我需要Title,Content div,Next show Div在特定时间刷新,例如上午9点到下午12点。我有一个JQuery代码在某个时间刷新页面,但这不是我想要的。有什么想法吗?

代码:

function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();

if(now.getHours() > hours ||
   (now.getHours() == hours && now.getMinutes() > minutes) ||
    now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
    then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);

var timeout = (then.getTime() - now.getTime());
setTimeout(function() { window.location.reload(true); }, timeout);
}

然后我只需通过在我的页面上插入以下内容来调用refreshAt函数

<script type="text/javascript">refreshAt(04,30,0);</script> //page refreshes at 4:30am.

所以这会刷新整个页面。我只需要刷新Title和2个div。 我需要在代码中添加/更改什么。

4 个答案:

答案 0 :(得分:1)

这将在间隔过后调用您当前的网址,并重置您的titlediv内容。

你必须写下这样的东西:

function refreshAt(hours, minutes, seconds) {
   var now = new Date();
   var then = new Date();

   if(now.getHours() > hours || (now.getHours() == hours && now.getMinutes() > minutes) || now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >=  seconds) {
           then.setDate(now.getDate() + 1);
   }
   then.setHours(hours);
   then.setMinutes(minutes);
   then.setSeconds(seconds);

   var timeout = (then.getTime() - now.getTime());
   setTimeout(function() {
      $.get( window.location.pathname, function( data ) {
             $('title') = $(data).filter('title').text();
             $('.DIV_CLASS') = $(data).filter('.DIV_CLASS').html();
             alert( "Load was performed." );
     });
   }, timeout);
}

注意:此脚本使用jQuery,因此请包含最新的jQuery库。

答案 1 :(得分:0)

你可以试试这个:

setTimeout(function() { 
    document.title = "new title";
    $(".divname").text("new div text");
}, timeout);

答案 2 :(得分:0)

您可以查看jQuery的load方法。

通过使用is,您可以加载div的内容。

    setTimeout(function() { 
      $("#youfirstdivid").load("url1"); 
       $("#youseconddivid").load("url2");

      $('title').text("new title"); 
   }, timeout);

不要忘记将代码包装在

$(function(){
  //you code goes here

});

如果你想以某个固定的间隔刷新它,那么你可以使用setInterval而不是setTimeout

答案 3 :(得分:0)

请尝试以下代码:

setTimeout(function(){
        $('#divid').load("pageurl #divid" >*",function(){

        });
  }, 6000);

你的div在6秒后重新加载。