> 웹 프론트엔드 > JS 튜토리얼 > chrome_jquery에서 jq width() 메소드 값 0에 대한 솔루션

chrome_jquery에서 jq width() 메소드 값 0에 대한 솔루션

WBOY
풀어 주다: 2016-05-16 16:46:59
원래의
1341명이 탐색했습니다.

http://photo.163.com/shixiaojian089/train/28002 NetEase의 사진 앨범을 보고 꼭 해보고 싶었습니다.

저의 제작 방식에서는 각 사진의 너비를 구해야 하므로 jq의 width() 메소드를 사용하는 것이 당연합니다. FF, IE에서는 큰 문제가 없으나, 크롬에서 실행하면 문제가 발생합니다.

Alert를 사용하여 문제를 해결한 결과 크롬에서 width 메소드로 얻은 값이 모두 0인 것을 확인했습니다. 이 경우 여기서 스크립트를 실행하면 이미지가 전혀 로드되지 않는 것 같습니다. 문제는 $(function(){});에 있어야 합니다. 왜냐하면 이 메서드에서는 실행을 시작하기 전에 DOM만 로드하면 되기 때문입니다. 그런 다음 onload에서 실행되도록 변경하면 이제 충분히 작동합니다. 그러나 이는 분명히 좋은 생각이 아닙니다. onload에서 실행하려면 스크립트를 실행하기 전에 전체 파일의 모든 내용이 로드될 때까지 기다려야 합니다.

온라인 검색 결과 이 ​​사람http://www.jb51.net/article/50402.htm도 같은 문제에 직면했습니다. 그의 댓글 아래에 해결 방법에 대한 메시지가 있습니다. , 다음을 참고하세요:

이미지의 너비와 높이를 얻으려는 곳에서

을 사용하세요. 코드는 다음과 같습니다:

$img.load(function(){
var img_h = $img.height();
var img_w = ​​​​$img .width();
}

이런 방식으로 $(function(){})을 사용하여 이미지가 필요한 이미지 객체에 대해 로드 메서드를 호출할 수 있습니다. 전체 파일 내용이 로드될 때까지 기다리지 않고 로드됩니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿