wal*_*mik 28 html jquery image
这个问题已被问过几次,但没有以这样的方式回答它可以帮助我解决我的具体问题.从导航列表中,单击一个项目,我将使用该.html()函数将一些HTML内容加载到div中.没有ajax请求.HTML内容包含图像.因此,加载可能需要一些时间.由于.html()是同步操作,下一行将立即执行.
一旦我使用加载内容.html(),我就启用了名为tinyscrollbar的第三方自定义滚动条.如果加载的内容具有图像,则滚动条会比加载图像更早地计算内容div的高度,从而导致滚动条不会一直滚动.
我不想用.setInterval().这有解决方案吗?在jQuery中是否有一些其他函数像.html()函数一样但具有某种回调功能?
谢谢.
Deb*_*Deb 47
$('#divId').html(someText).promise().done(function(){
//your callback logic / code here
});
Run Code Online (Sandbox Code Playgroud)
wal*_*mik 10
基于迈克罗宾逊的(和dystroy的)建议,我的问题的答案是:
$("#myContentDiv").html('HTML content comes here');
var contentImages = $("#myContentDiv img");
var totalImages = contentImages.length;
var loadedImages = 0;
contentImages.each(function(){
$(this).on('load', function(){
loadedImages++;
if(loadedImages == totalImages)
{
$("#myContentDiv").tinyscrollbar();
}
});
});
Run Code Online (Sandbox Code Playgroud)