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

发布于 2022-08-23 23:50:55 字数 859 浏览 12 评论 0

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);
	}
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请叫√我孤独 2022-08-30 23:50:55

不要频繁操作 DOM, 浏览器娘会受不了的
把 '<a><img /></a>...<a><img /></a>' 先拼接好(前提是这个字符串不要憋得太粗大)
只要一次强力插入就爽到了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文