jQuery가 동적으로 생성 된 이미지의 이미지 소스 속성을 변경하지 않음

마르코

내 페이지를 클릭하면 동적으로 요소를 만들고 있습니다.

                <img
                  src="/imagecache/large/{{ $issue->first()->image  }}"
                  onclick="magazineDetail(
                    '{{ $issue->first()->magazine->id }}',
                    '{{ $issue->first()->magazine->name }}',
                    '{{ $issue->first()->magazine->summary ?: '' }}',
                    '{{ $issue->first()->magazine->image ?: '' }}',
                    '{{ $issue->first()->image  }}'
                    )"
                  >

클릭으로이 스크립트를 호출합니다.

function magazineDetail(id, name, summary, issueImage, magazineImage){
    images = [];
    nextImage = 0;
    loadedImages = [];

    $('#magazine-detail')[0].innerHTML = '<section id="magazine-detail" class="magazine-detail"><div class="large-6 medium-6 small-12 columns"><div class="magazine-hero"><img id="image" src="/imagecache/cover/' + magazineImage + '" alt="' + name + '" /><div class="magazine-preview-nav"><div class="right-arrow" id="forward"><img src="/img/right-arrow-black.svg" /><p>Neste utgivelse</p></div><div class="left-arrow" id="back"><img src="/img/left-arrow-black.svg" /><p>Forrige utgivelse</p></div></div></div></div><div class="large-6 medium-6 small-12 columns"><div class="row"><div class="small-6 columns magazine-title"><h1 id="name"></h1></div></div><p id="summary"></p><img id="issueImage" src="" alt="" /><p></p><button class="button primary expand">Kjøp abonnement - 1 måned gratis</button><button class="button secondary expand">Bla igjennom arkivet</button></div></section>';

    $('#image').attr({"src" : '/imagecache/cover/' + magazineImage, "alt" : name});
    $('#name').text(name);
    $('#summary').text(summary);

    if (issueImage != '') {
      $('#issueImage').html('<img src="/imagecache/medium/"' + issueImage + ' alt="' + name + '">');
    }

    $('html, body').animate({
        scrollTop: $("#magazine-detail").offset().top + 1500
    }, 1700);

    $.getJSON("issue/images",
        { id: id },
        function(result){
          if (result.length < 2){
              $('.magazine-preview-nav').hide();
          } else {
              $('.magazine-preview-nav').show();
          }
          $.each(result, function(i, value){
              images.push(value);
          });
          function imagePreload() {
              preload();
          };
    });

    console.log(images);
}

내가 <div class="magazine-hero"><img id="image" src="/imagecache/cover/' + magazineImage + '" alt="' + name + '" />만들고있는 $('#magazine-detail')[0].innerHTML.

그런 다음 id="image"클릭시 생성되는 요소로 해당 요소의 src를 변경해야하는 함수가 있습니다 . 다음은이를 처리하는 스크립트입니다.

$(document).ready(function () {
    imagesIndex = 0;
    nextImage = 0;
    loadedImages = new Array();

    function preload() {
      console.log('entered');
        for (i = 0; i < 2; i++) {
            if (nextImage < images.length) {
                var img = new Image();
                img.src = '/imagecache/cover/' + images[nextImage];
                loadedImages[nextImage] = img;
                ++nextImage;
            }
        }
    }

    $('#magazine-detail').on('click','#forward', function() {
      imagesIndex++;
      preload();

      if (imagesIndex > (loadedImages.length - 1)) {
          imagesIndex = loadedImages.length - 1;
      }
console.log(loadedImages.length);
console.log(loadedImages[imagesIndex].src);
      $('#image').attr({"src" : loadedImages[imagesIndex].src, "alt" : name});
    });

    $('#magazine-detail').on('click','#forward', function() {
        imagesIndex--;

        if (imagesIndex < 0) {
            imagesIndex = 0;
        }

        $('#image').attr({"src" : loadedImages[imagesIndex].src, "alt" : name});
    });
});

를 검사하면 console.logs새 이미지가으로 생성 되고 preload function올바른 이미지 image src가 다음으로 전달되고 있음을 알 수 있습니다.$('#image').attr({"src" : loadedImages[imagesIndex].src, "alt" : name});

그러나 페이지의 이미지는 변경되지 않습니다. 페이지가로드 된 후 해당 요소를 만들지 않고 숨겨 두었을 때 모든 것이 잘 작동했음을 언급해야 할 수도 있습니다.

솔리 야판

.NET Framework에 사소한 버그가있는 것 같습니다 $(document).ready(function(){ });.

코드에는 동일한 버튼 #forward에 대해 2 개의 클릭 이벤트가 있습니다. 아마도 하나는 #back 버튼에 할당되어야 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaScript에서 동적으로 생성 된 요소의 이미지 소스 설정

분류에서Dev

동적으로 생성 된 요소에서 jQuery Tooltip 이벤트가 발생하지 않음

분류에서Dev

노틸러스가 GIF 이미지의 축소판을 생성하지 않음

분류에서Dev

노틸러스가 GIF 이미지의 축소판을 생성하지 않음

분류에서Dev

노틸러스가 GIF 이미지의 축소판을 생성하지 않음

분류에서Dev

동적으로 생성 된 이미지의 src가 정의되지 않았습니다.

분류에서Dev

동적으로 생성 된 이미지에 대한 jquery 함수

분류에서Dev

동적으로 생성 된 요소에 대해 jQuery 선택기가 작동하지 않음

분류에서Dev

스타일 속성의 배경 이미지가로드되지 않음

분류에서Dev

요소 속성이 설정된 경우 폴리머 "속성 변경"이벤트가 발생하지 않음

분류에서Dev

동적으로 생성 된 div의 이미지 옆에 텍스트를 중앙에 배치합니다. jQuery

분류에서Dev

이미지가 동적으로 생성 된 스타일을 지정할 수 없습니다.

분류에서Dev

동적으로 생성 된 스크립트가 실행되지 않음

분류에서Dev

동적으로 생성 된 필드가 저장되지 않음

분류에서Dev

속성 배경 이미지가 작동하지 않음 [반응]

분류에서Dev

동적으로 생성 된 요소의 addEventListener가 작동하지 않습니다.

분류에서Dev

동적으로 생성 된 요소에 의해 트리거 된 이벤트가 작동하지 않습니다.

분류에서Dev

동적으로 생성 된 이미지에 값을 추가 한 다음 클릭시 표시

분류에서Dev

동적으로 생성 된 텍스트 필드에 대해 jQuery 클래스 이름 유효성 검사가 작동하지 않음

분류에서Dev

동적으로 생성 된 '원'이 보이지 않음

분류에서Dev

동적으로 생성 된 개체 키가 업데이트되지 않음

분류에서Dev

동적으로 생성 된 JTable에 이미지를 추가하는 방법

분류에서Dev

동적으로 생성 된 <video> 요소-자동 재생이 작동하지 않음

분류에서Dev

속성이 동적으로 설정된 경우 인라인 스타일링이 작동하지 않음

분류에서Dev

onAction = {} 속성을 사용하여 동적으로 생성 된 JSX 요소, 상태를 업데이트하지 않음 (중단되었습니다)

분류에서Dev

업로드 된 이미지가 제거 된 후 jQuery 유효성 검사가 작동하지 않음

분류에서Dev

동적으로 생성 된 동일한 div에서 jQuery가 작동하지 않음

분류에서Dev

동적으로 생성 된 ImageView에 이미지를 동적으로 추가하는 방법

분류에서Dev

동적으로 생성 된 DOM 요소에서 jQuery UI가 작동하지 않습니까?

Related 관련 기사

  1. 1

    JavaScript에서 동적으로 생성 된 요소의 이미지 소스 설정

  2. 2

    동적으로 생성 된 요소에서 jQuery Tooltip 이벤트가 발생하지 않음

  3. 3

    노틸러스가 GIF 이미지의 축소판을 생성하지 않음

  4. 4

    노틸러스가 GIF 이미지의 축소판을 생성하지 않음

  5. 5

    노틸러스가 GIF 이미지의 축소판을 생성하지 않음

  6. 6

    동적으로 생성 된 이미지의 src가 정의되지 않았습니다.

  7. 7

    동적으로 생성 된 이미지에 대한 jquery 함수

  8. 8

    동적으로 생성 된 요소에 대해 jQuery 선택기가 작동하지 않음

  9. 9

    스타일 속성의 배경 이미지가로드되지 않음

  10. 10

    요소 속성이 설정된 경우 폴리머 "속성 변경"이벤트가 발생하지 않음

  11. 11

    동적으로 생성 된 div의 이미지 옆에 텍스트를 중앙에 배치합니다. jQuery

  12. 12

    이미지가 동적으로 생성 된 스타일을 지정할 수 없습니다.

  13. 13

    동적으로 생성 된 스크립트가 실행되지 않음

  14. 14

    동적으로 생성 된 필드가 저장되지 않음

  15. 15

    속성 배경 이미지가 작동하지 않음 [반응]

  16. 16

    동적으로 생성 된 요소의 addEventListener가 작동하지 않습니다.

  17. 17

    동적으로 생성 된 요소에 의해 트리거 된 이벤트가 작동하지 않습니다.

  18. 18

    동적으로 생성 된 이미지에 값을 추가 한 다음 클릭시 표시

  19. 19

    동적으로 생성 된 텍스트 필드에 대해 jQuery 클래스 이름 유효성 검사가 작동하지 않음

  20. 20

    동적으로 생성 된 '원'이 보이지 않음

  21. 21

    동적으로 생성 된 개체 키가 업데이트되지 않음

  22. 22

    동적으로 생성 된 JTable에 이미지를 추가하는 방법

  23. 23

    동적으로 생성 된 <video> 요소-자동 재생이 작동하지 않음

  24. 24

    속성이 동적으로 설정된 경우 인라인 스타일링이 작동하지 않음

  25. 25

    onAction = {} 속성을 사용하여 동적으로 생성 된 JSX 요소, 상태를 업데이트하지 않음 (중단되었습니다)

  26. 26

    업로드 된 이미지가 제거 된 후 jQuery 유효성 검사가 작동하지 않음

  27. 27

    동적으로 생성 된 동일한 div에서 jQuery가 작동하지 않음

  28. 28

    동적으로 생성 된 ImageView에 이미지를 동적으로 추가하는 방법

  29. 29

    동적으로 생성 된 DOM 요소에서 jQuery UI가 작동하지 않습니까?

뜨겁다태그

보관