2010-10-04 88 views
2

1)我必須根據每x秒的值動態更改圖像。使用Jquery和Ajax進行部分頁面刷新以獲得XIV秒數?

我使用下面的函數:

setInterval(function() { 
    $("#content").load(location.href+" #content>*",""); 
}, 5000); 

它工作正常的更新值,但圖像不會得到更新到它的位置。

2)從第一個問題,我想知道包含在head標籤中的jquery和css文件是否會每x秒加載一次。如果不是如何加載?

請給我建議。

回答

0

如果您要返回一個完整的HTML頁面並將其返回到另一個頁面的主體中,那麼這是一個壞主意。

想想看,你的HTML結構將類似於

<doc type> 
<html> 
    <head> 
    </head> 
    <body> 
    <div> 
     <doc type> 
     <html> 
     <head> 
     </head> 
     <body> 
      <div> 

      </div> 
     </body> 
     </html> 
    </div> 
    </body> 
</html> 

理想情況下,你應該重新調整隻是要顯示的,不是一切內容。

如果您只是更新圖像,通常不需要進行XHR呼叫。您可以設置圖像src並強制瀏覽器以這種方式更新該內容。

0

這是否需要使用Ajax完成?你打算循環多少張圖片?如果只有少數幾個,只需將所有的src保留在頁面上並定期切換圖像的src屬性即可。這不需要重新加載頁面。您也可能需要預先加載所有圖像,以便在切換到其他圖像時不會閃爍。例如:

$(function() { 
    var images = ['1.png', '2.png', '3.png']; 
    $.each(images, function (index, src) { 
     $("<img />").attr('src', src); //preload 
    }); 
    var keep = 1; 
    setInterval(function() { 
     $("#main_img").attr('src', images[keep]); 
     keep++; 
     if (keep >= images.length) { keep = 0; } 
    }, 5000); 
}); 

現在,如果你不想硬編碼在JS圖片網址,你可以先用一個Ajax請求加載它們。

如果您正在討論一組不可預知的圖像或大量圖像,我只會推薦使用Ajax來完成所有工作。