Javascript 谷歌浏览器中的图像宽度问题
我正在编写一个简单的jQuery插件,当单击时,它会在屏幕中央显示带有特定类的图像,完全大小。我正在使用此html代码,其中显示我的图像:Javascript 谷歌浏览器中的图像宽度问题,javascript,jquery,google-chrome,width,image,Javascript,Jquery,Google Chrome,Width,Image,我正在编写一个简单的jQuery插件,当单击时,它会在屏幕中央显示带有特定类的图像,完全大小。我正在使用此html代码,其中显示我的图像: <div id="source"> <img src="" alt="" /> </div> 但在Google Chrome中,并且只有在onload事件触发时,才在Google Chrome中,此.width等于前一幅图像的宽度。这意味着,当我第一次将src设置为800px宽度的img/1.jpg时,一切正常,但
<div id="source">
<img src="" alt="" />
</div>
但在Google Chrome中,并且只有在onload事件触发时,才在Google Chrome中,此.width等于前一幅图像的宽度。这意味着,当我第一次将src设置为800px宽度的img/1.jpg时,一切正常,但当我尝试将src中的第二个图像img/2.jpg设置为600px宽度时,这个.width在onload事件中仍然返回800px!。
如何解释这种行为
UPD:
我这样设置src:
function NavClick(){
$("#source img").attr({
src: $(this).attr("src")
});
currentImage = this.indx;
}
这是参考的缩略图图像,我使用相同的src为缩略图和全尺寸的图像测试只,稍后我会把它们放在不同的目录。
这段代码解决了我的问题,但我不太明白为什么:
function NavClick(){
$("#source img").attr({
src: "#"
});
$("#source img").attr({
src: $(this).attr("src")
});
currentImage = this.indx;
}
在设置新的src之前,我将其设置为,这可能是由于缓存图像,但仅出现在google chrome中。使用窗口加载事件,图像在图像加载事件中未完全加载请参见问题 我没有测试它,但这可能只是做的把戏,让我知道,如果它没有或如果有
$(window).load(function(){
var calcWidth = $("#source img").width() + ...;
});
使用窗口加载事件,图像加载事件上的图像未完全加载请参阅问题 我没有测试它,但这可能只是做的把戏,让我知道,如果它没有或如果有
$(window).load(function(){
var calcWidth = $("#source img").width() + ...;
});
使用$this.width读取jQuery处理程序中的当前图像宽度。$this.width返回等于this.width的值我希望您没有img src=当页面加载时,图像的空src属性意味着源与加载当前页面的url相同,可以是POST或GET,至少在SRC属性中设置,您将节省调试时间。@regilero,谢谢,我很好地更正了它,通过快速测试,它在Chrome中运行良好-如何设置图像src?使用$this.width读取jQuery处理程序中的当前图像宽度。$this.width返回等于this.width的值我希望在页面加载时没有img src=,图像的空src属性表示源url与加载当前页面的url相同,可以是POST或GET,至少在src属性中设置可以节省调试时间。@regilero,谢谢,我已经纠正了它。通过快速测试,它在Chrome中运行良好-如何设置图像src?这不起作用,因为他在更改src时进行检查,这意味着window.onload事件早就启动了。这不起作用,因为他在更改src时进行检查,这意味着window.onload事件早就启动了。