我正在尝试预加载我用某个属性装饰的某些图像,我想知道你们是否可以帮我弄清楚这里出了什么问题。我有
var barlen = $('#SSWEprogressbar').width(),
$elems = $('[data-srcurl]'),
n = $elems.length;
for ( var k = 0; k < n; ++k )
{
var $elem = $($elems[k]);
var img = new Image(),
url = $elem.attr('data-srcurl');
$(img).load(function(){
console.log("we're here");//TEST
$('#SSWEloaderfront').attr('src',url);
$('#SSWEloadprogress').width(k/n*barlen + "px");
});
var srctgt = $elem.attr('data-srctgt');
if ( srctgt == "srcattr" )
{
$elem.attr('src',url);
}
else if ( srctgt == "bgimg" )
{
$elem.css('background-image',url);
}
}
然后
console.log("we're here");//TEST
未被调用。有什么想法吗?
答案 0 :(得分:2)
您没有在img元素上设置src属性,因此负载永远不会触发。你需要添加$(img).attr('src',url);