2013-10-21 1 views
1

div의 테이블에서 이미지의 너비를 잘 나타내려면 이미지의 너비를 알아야합니다. 이미지에는 클래스 이름이 있습니다. 나는 이것을 다음과 같이한다 :jQuery, 한 이미지의 너비를 가지고 나면 스크립트를 한 번만 계속하십시오.

var image_width = $('.image_product').width(); 

나는 그 결과로 테이블의 다른 열을 계산한다. Firefox에서는 잘 작동합니다. 그러나 Chrome에서 이미지가로드되기 전에 계산 스크립트가 이미 완료되었습니다. var image_width는 0 픽셀을 반환합니다. 이미지는이를 통해로드 된 후

나는 스크립트를 계속 시도 :

잘 작동하지만이있는 경우 그 클래스 명을 가진 두 개의 이미지, 세 번이있을 때 스크립트가 두 번 실행됩니다 발견
$('.image_product').load(function() 
    { 
    calculate_column_width(); 
    }); 

3 개의 이미지 등.

스크립트를 한 번만 계속 사용하는 간단한 해결책을 찾을 수 없습니다. 누구 아이디어가 있습니까?

+0

해당 클래스의 이미지가로드되는 즉시 계속 하시겠습니까? 아니면 해당 클래스의 모든 이미지가로드 될 때까지 기다리시겠습니까? – nnnnnn

답변

2

http://desandro.github.io/imagesloaded/을 사용해 보셨습니까? 이 플러그인

다음 코드 :

$('.image_product').imagesLoaded(function() { 
    calculate_column_width(); 
}); 

이 ... 만 일치 용기 내의 모든 이미지 후 콜백을 발사 할 준비가되었습니다.

0

당신은 그들에게 다른 클래스 이름을 지정하거나 노력이 스크립트 수 중 하나를 다음

$('.image_product').first().load(function() { 
    calculate_column_width(); 
}); 

은 그냥 클래스 이름으로 첫 번째 요소를 취할 것이다 .. 그러나 나는 그에게 강력한 솔루션 생각하지 않습니다 너의 문제.

관련 문제