当元素在视点中时,jquery加载html

时间:2013-05-23 12:15:20

标签: javascript jquery viewport

目前无法使用jquery.viewpoint获取我的代码。

$(window).bind("scroll", function(event) {
$('.port_holder:in-viewport').each(function(){
    var loaded=$(this).data('loaded');
    if(loaded==0)
    {
        var file_id=$(this).data('port_id');
        var file="html_includes/"+file_id+".html";
        $.get(file).success(function(s){
            $(this).html(s);
            $(this).data('loaded','1');
        });
    }
  });
});

问题在于更新必要的.port_holder div。这些div持有者中有15个,每个持有者都链接到特定的外部html文件。

我尝试了$('.port_holder', this).html(s)$(this, '.port_holder').html(s)。仅使用.port_holder使用html填充所有元素,因此我知道它正在连接。

加载后,我需要更改data-loaded元素,以便在用户前后滚动时不会继续重新加载。不确定我的$.get语法是否存在问题,或者this的上下文是否在某处丢失。

1 个答案:

答案 0 :(得分:0)

我想到的是,this的上下文没有被传递给成功函数,因此我使用'var that = this'并将低位更改为$(that).html(s);