刷新社交div而不刷新整页

时间:2013-11-23 08:45:18

标签: javascript ajax

我做了一些关于这个主题的搜索,大多数解决方案都涉及另一个HTML。我的hoever只涉及一页html。在这里。

我在index.html中的当前代码

<body>

<script type="text/javascript">
    setTimeout(function () { 
      location.reload(true);
    }, 20 * 1000);
</script>

<div id="wall">
    <div id="igstream"></div>
</div>

</body>

此页面每20秒自动刷新整个页面。 igstream是一个div,每当有人发布有针对性的标签时,它都会更新。例如,我访问

index.html?tags=tagsforlikes

该页面将显示Instagram上带有tags = tagsforlikes的图片,并将每20秒刷新一次,以便能够使用tags = tagsforlikes

显示来自Instagram的新帖子

目前这种方法目前有效,但我想通过仅刷新div部分来增强它

<div id="igstream"></div>

我想这样做,因为我重新设计了包含页面上大图像背景的页面。希望能够只刷新div部分来节省带宽。

感谢

5 个答案:

答案 0 :(得分:0)

您可以使用,jquery load()函数,

$( "#igstream" ).load( "yourfile link here" );

http://api.jquery.com/load/

答案 1 :(得分:0)

Ajax是最简单的方法。只需将社交部分放入仅包含内容的页面中,并在获得新内容后使用elem.innerHTML进行更新。

答案 2 :(得分:0)

我认为你能够做到这一点的唯一方法就是使用ajax调用,这是为了简单起见使用jquery但你可以用很多不同的方式来做。

$url = ''; //wherever you are getting the data from.
var request = $.ajax({
  url: $url,
  type: "GET",
});
request.done(function(r) {
/// update your div with retrieved content in "r"
});

答案 3 :(得分:0)

试试这个

<body>

<script type="text/javascript">
  window.setInterval(function(){
  $( "#igstream" ).load( "index.html?tags=tagsforlikes" );
  }, 20 * 1000);
</script>

<div id="wall">
    <div id="igstream"></div>
</div>

</body>

答案 4 :(得分:0)

 window.setInterval(function(){
 $( "#igstream").load("test.html");
 }, 1000);

这将使用test.html中的内容每1000毫秒刷新div'igstream'