2012-12-04 70 views
1

我想在常規時間間隔後重新加載div(Recent_updates)的內容。我用下面的JavaScript代碼重新加載分隔符的內容定期的時間間隔

var refreshId = setInterval(function() 
    { 
     $('#Recent_updates').fadeOut("slow").load('Recent_updates.php').fadeIn("slow"); 
    }, 60000); 

Recent_updates.php

<?php 
include("include/connect.php"); 
include("library/paginator.php"); 
?> 
<div style="text-align:right;"> 
    <? 
    $query = "select * from settings"; 
    $tab = mysql_query($query); 
    $row = mysql_fetch_array($tab); 
    $item_no = $row['items_to_show']; 
    $scroll = $row['scroll_interval']; 

    $online_paginate = new Paginator; 
    $online_paginate->sql = "select * from recent_updates where status='Active' and picture1!='' and selling_method!='want_it_now' and selling_method!='ads' and bid_starting_date <= now() and expire_date>=now() order by item_id desc"; // sql statement 
    $online_paginate->rows_on_page = $item_no; 
    $results = $online_paginate->get_page_result(); // result set 
    $num_rows = $online_paginate->get_page_num_rows(); // number of records in result set 
    $nav_links = $online_paginate->navigation("&nbsp; | &nbsp;"); // the navigation links (define a CSS class 
    ?> 
</div> 

<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <tr bgcolor="#d79196" class="detail9txt"> 
    <input type="hidden" value="2" name="len"> 
    <td align="center" width="20%"><b>Picture</b> </td> 
    <td width="30%" align="center"><b>Name/Responses</b> </td> 
    <td width="50%" align="center"><b>Description</b> </td> 
</tr><tr style="height:10px;"><td></td></tr> 
<? 
if ($num_rows > 0) { 
    while ($bestsellers_fetch = mysql_fetch_array($results)) { 
     $temp = $bestsellers_fetch['item_id']; 
     $sql = "SELECT count(`user_id`) as response FROM `watch_list` where `item_id`=$temp group by `item_id`"; 
     $res = mysql_query($sql); 

     $response = mysql_fetch_row($res); 

     $counttop = $counttop + 1; 
     if (!empty($bestsellers_fetch['sub_title'])) 
      $item_subtitle1 = $bestsellers_fetch['sub_title']; 
     else 
      $item_subtitle1 = substr($bestsellers_fetch['item_title'], 0, 20); 
     $item_title1 = substr($bestsellers_fetch['item_title'], 0, 40) 
     ?> 
     <tr> 
      <td class="tr_botborder" style="vertical-align:middle;" width="20%" align="center"><div align="center"><a href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>" class="bestsellerstxt"><img src="thumbnail/<?= $bestsellers_fetch['picture1']; ?>" alt="" width="79" height="70" border="0" /></a></div></td> 
      <td class="tr_botborder" style="vertical-align:middle;" width="30%" align="center"><div align="center"><span class="bestsellerstxt"><a href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>" class="bestsellerstxt"><?= $item_subtitle1; ?> <?= $item_title1; ?></a><br/><?php if ($response[0] != '') { ?><a style="text-decoration:none;color:#336666;" href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>"> <?php echo $response[0] . '&nbsp;responses'; ?></a> <?php } else { ?><span style="color:#666666;"><?php 
      echo '0&nbsp;responses'; 
     } 
     ?></span></span></td> 
      <td class="tr_botborder" style="vertical-align:middle;" width="50%" align="center"><div align="center"><span class="bestsellerstxt"><a href="#" class="bestsellerstxt"><?= html_entity_decode($bestsellers_fetch['detailed_descrip']); ?></a></span></td> 
     </tr> 

     <? 
     if ($counttop != 2) { 

     } 
    } 
} else { 
    ?> 
    <tr><td height="148" align="center" class="featxt">No Items Available</td></tr> 
    <? 
} 
?> 
</table> 
<div style="text-align: right;"><?php echo $nav_links; ?></div> 

此代碼是工作的罰款所有瀏覽器除了IE以外。 當我轉到ie9上的頁面並且在幾分鐘(5-8)分鐘後沒有做任何事情時,該頁面變得空白。

+0

我不能真正幫助你的問題,但只是作爲一般的提示,最好是練習使用嵌套'setTimeout'調用,而不是'setInterval'(http://bonsaiden.github.com/JavaScript-Garden/#other.timeouts),雖然你的60秒間隔,它應該不是一個問題。 – acjay

回答

3

我一直在通過這個......實際上負載失敗,因爲IE嚴格驗證返回的HTML。所以確保Recent_updates.php返回有效的html

+0

Yaa .. Recent_updates.php返回有效的html。我在問題中添加了該頁面的內容 – Natasha

0

我不確定IE9,但我有舊版本的IE中這種類型的問題。該瀏覽器有打開持久連接到服務器的壞習慣,並且大多數服務器(如果不是全部的話)對每個用戶的打開連接數量有限制。 知道你有一個1分鐘的間隔,並持續連接超時5分鐘後,只需數,你明白了爲什麼...

相關問題