使用Jquery和Ajax进行部分页面刷新以获得XIV秒数?

问题描述:

1)我必须根据每x秒的值动态更改图像。使用Jquery和Ajax进行部分页面刷新以获得XIV秒数?

我使用下面的函数:

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

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

2)从第一个问题,我想知道包含在head标签中的jquery和css文件是否会每x秒加载一次。如果不是如何加载?

请给我建议。

如果您要返回一个完整的HTML页面并将其返回到另一个页面的主体中,那么这是一个坏主意。

想想看,你的HTML结构将类似于

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

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

理想情况下,你应该重新调整只是要显示的,不是一切内容。

如果您只是更新图像,通常不需要进行XHR呼叫。您可以设置图像src并强制浏览器以这种方式更新该内容。

这是否需要使用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来完成所有工作。