这就是我所拥有的
var path = $('#sprite').css('background-image').replace('url', '').replace('(', '').replace(')', '').replace('"', '').replace('"', '')
var tempImg = '<img id="tempImg" src="' + path + ' "/>';
$('body').append(tempImg);
alert($('#tempImg').width());
结果是0
,但如果我进入控制台并输入$('#tempImg').width()
,我们会得到正确的宽度。
所以,似乎只是在执行代码后才附加“追加”,我需要在项目被追加后使用我的代码,有没有办法?
答案 0 :(得分:0)
您必须等到图像加载完毕。
var path = $('#sprite').css('background-image').replace('url', '').replace('(', '').replace(')', '').replace('"', '').replace('"', '');
var tempImg = new Image();
tempImg.id = "tempImg";
$(tempImg).load(function(){
$('body').append(tempImg);
alert($(tempImg).width());
});
tempImg.src = path;
答案 1 :(得分:0)
感谢这里的一些评论和答案,我成功实现了我的目标
frame_width = $('#sprite').width();
var path = $('#sprite').css('background-image').replace('url', '').replace('(', '').replace(')', '').replace('"', '').replace('"', '')
var tempImg = '<img id="tempImg" src="' + path + ' "/>';
$('body').append(tempImg);
$('#tempImg').load(function(){
alert($("#tempImg").width());
});
这有效并提醒了正确的价值 谢谢大家