我正在尝试获取图像的尺寸以便稍后在我的脚本中使用。直接使用jQuery选择img元素可以很好地工作,但是它在webkit浏览器中不起作用(在函数调用时图像未加载)。我试图通过使用jquery load()函数来加载图像后设置变量的解决方案。为什么我的Javascript变量没有被设置在这个函数之外?
为什么我的变量没有被根据需要设定?
function startSlider() {
if (1 == 1) {
var bImg = $('#banner img');
var bWidth = 111, bHeight = 222;
$("<img/>")
.attr("src", $(bImg).attr("src"))
.load(function() {
bWidth = this.width;
bHeight = this.height;
console.log('inner: ' + this.height);
});
console.log('outer: ' + bHeight);
}
}
$(window).load(startSlider(skin));
输出
outer: 222
inner: 333
示例源
<div id="banner">
<img src="/path/to/image.jpg" />
</div>
我不相信你会得到“外部”线** **后“内部”一个 – zerkms
谢谢,我让他们误逆转。 –
什么图像是由JavaScript创建的?或者只是通过html标签创建? – viyancs