开发者社区> 问答> 正文

js动态加载image导致浏览器很卡

function addImage(logo,userid,name,style){
    console.log("addImage");
    var img = new Image;
    img.src = photowall.allPhotosAPI() + '/' + logo;
    $(img).load(function(){
        var $person='<a '+style+' class='+randomClass()+' href='+'user.html?'+userid
            +'><article>'+'<img src='+img.src+' />'+'<span>'+name
        +'</span>'+'</article></a>';
        $container.append($person);
    });
}
$.ajax({
    url:photowall.allUsersAPI(),
    type:'get',
    dataType:'xml',
    timeout:1000,
    success:function(xml){
        $(xml).find('varkrs').each(function(i){
            console.log("each");
            var $this = $(this);
            var userid = $this.attr('id');
            var name = $this.attr('name');
            var logo = $this.attr('logo');
            var style = calStyle();
            addImage(logo,userid,name,style);
        });
        $container.height((y_index + 1)*280);
    }
});

展开
收起
a123456678 2016-03-10 17:12:08 2279 0
1 条回答
写回答
取消 提交回答
  • 不要频繁操作 DOM, 浏览器娘会受不了的
    把 '...' 先拼接好(前提是这个字符串不要憋得太粗大)
    只要一次强力插入就爽到了

    2019-07-17 18:57:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载