>웹 프론트엔드 >JS 튜토리얼 >jQuery를 사용하여 이미지를 비동기적으로 로드할 수 있나요?

jQuery를 사용하여 이미지를 비동기적으로 로드할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-12 03:43:02936검색

Can Images Be Loaded Asynchronously with jQuery?

jQuery를 사용한 비동기 이미지 로드

질문:

외부 이미지를 비동기적으로 로드하려고 합니다. 다음과 함께 jQuery를 사용 코드:

$.ajax({ 
   url: "http://somedomain.com/image.jpg", 
   timeout:5000,
   success: function() {

   },
   error: function(r,x) {

   }
});

오류 응답이 발생합니다. jQuery로 비동기 이미지 로딩이 가능합니까? 그렇지 않다면 어떻게 이미지를 비동기식으로 로드할 수 있습니까?

해결책:

jQuery를 사용하면 실제로 비동기식 이미지 로드가 가능합니다. 그러나 $.ajax() 메서드는 이 작업에 적합하지 않습니다. 대신에 선호되는 접근 방식은 새 이미지 요소를 동적으로 생성하고 여기에 이벤트 핸들러를 연결하는 것입니다.

var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg')
    .on('load', function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } else {
            $("#something").append(img);
        }
    });

이 방법은 기본 HTML5 이미지 로딩 메커니즘을 사용하여 이미지가 완전히 완료되면 로드 이벤트를 트리거합니다. 짐을 실은. 전체, naturalWidth 및 naturalHeight 속성을 확인하면 이미지가 성공적으로 로드되었는지 확인하고 이미지 깨짐 경고를 방지할 수 있습니다.

위 내용은 jQuery를 사용하여 이미지를 비동기적으로 로드할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.