当页面加载时,我希望能获取图片的宽度。因为图片的宽度用于判断某些条件,逻辑如下:
var width = $('img').width();
var height = $('img').height();
if(width > height){
//do fn1
}else{
//do fn2
}
这是一个模拟问题的链接。我知道使用
setTimeout
函数延迟获取图像宽度是可行的,但它不太精确。当页面加载时,我希望能获取图片的宽度。因为图片的宽度用于判断某些条件,逻辑如下:
var width = $('img').width();
var height = $('img').height();
if(width > height){
//do fn1
}else{
//do fn2
}
setTimeout
函数延迟获取图像宽度是可行的,但它不太精确。这是jQuery文档中提供的示例:
...一个简单图片的页面:
<img src="book.png" alt="Book" id="book">
$( "#book" ).load(function() {
// Handler for .load() called.
});
http://api.jquery.com/load-event/
以下是更多关于该主题的内容,将帮助您解决问题:
如果您非常厉害,您可以创建图像元素,添加源,并在其加载完成后执行某些操作。不需要使用jQuery。
var image = new Image();
image.onload = function() {
alert('image loaded');
};
image.src = 'image/image.jpg';
object.onload=function(){
var width = $('img').width();
height = $('img').height();
};
在图像加载完成后,您应该检查图像的宽度和高度。 使用JQuery可以像这样检查页面加载:
$('img').load(function() {
var width = $('img').width();
var height = $('img').height();
if(width > height){
console.log(1);
}else{
console.log(2);
}
});
$('img').load( fnYourHandler );
- dandavis