2015-03-09 3 views
1

Я хочу получить ширину изображения при загрузке страницы. Поскольку ширины изображения используется для оценки некоторых условий, логика, как это:Как запустить код сразу при загрузке изображения?

var width = $('img').width(); 
var height = $('img').height(); 
if(width > height){ 
    //do fn1 
}else{ 
    //do fn2 
} 

Here is a link имитировать мою проблему. Я знал, что если функция использования setTimeout задержка до , то получить ширину изображения можно, но это неточно.

+0

'$ ('IMG') нагрузки (fnYourHandler);.' – dandavis

+0

http://jsbin.com/midecuvufu/1/edit?html,css,js,console,output – guest271314

ответ

3

Это пример, приведенный в документации JQuery:

... страницы с простым изображением:

<img src="book.png" alt="Book" id="book"> 

Обработчик события может быть связан с изображением:

$("#book").load(function() { 
    // Handler for .load() called. 
}); 

Как только изображение загружено, вызывается обработчик.

http://api.jquery.com/load-event/

Вот еще на эту тему, которая поможет вам:

How to get image size (height & width) using JavaScript?

+0

Большое спасибо, это краткий ответ! –

0
object.onload=function(){ 
var width = $('img').width(); 
height = $('img').height(); 
}; 

Вы можете попробовать эту функцию.

0

Вы должны проверить ширину и высоту изображения после загрузки изображения. С JQuery вы можете проверить загрузку страницы, как это:

$('img').load(function() { 
      var width = $('img').width(); 
      var height = $('img').height(); 

      if(width > height){ 
      console.log(1); 
      }else{ 
      console.log(2); 
      } 
    }); 

JS BinExample Here

+0

Даже если ширина обруча код ** $ (function {}) **, возможно получить нуль с изображением. –

+0

Я обновил ответ, вы должны послушать и загрузку изображения. – Shark

+0

Спасибо за ваше исправление. –

2

Или, если вы удивительные, вы можете создать элемент изображения, добавить источник и сделать что-то, когда оно загружено. Нет необходимости в jQuery.

var image = new Image(); 
image.onload = function() { 
    alert('image loaded'); 
}; 
image.src = 'image/image.jpg'; 
Смежные вопросы