저는 웹 사이트의 헤더에서 여러 이미지를 가로로 스크롤하는 함수를 만들었습니다. 그래서 내 헤더의 내부에서 나는이 비슷한 코드를 가지고 :jQuery에서 재귀 애니메이션이 작동하지 않습니다.
- 는 첫 번째 이미지를 얻을, 애니메이션을 사용하면에 시야 외부에서 스크롤 : 그런 식으로 일을
<div class='images'> <!-- this div is 150% wide with overflow hidden --> <img src=... /><img src=... /><img src=... /><img src=... /> </div>
을 생각한다 왼쪽으로 (
margin-left
속성 사용) - 첫 번째 이미지를 마지막으로 이동합니다 (사실 이미지를 제거하고 끝에 새 이미지를 만듭니다).
- 전체 프로세스를 다시 시작하십시오. 지금은 방법으로 다음과 같은 작동
function scroll() { var o = jQuery('.images').children().first(); var w = o.css('width'); var s = o.attr('src'); jQuery('.images:first-child').animate({'margin-left': "-"+w}, {'duration': 1000, 'complete': function(){ jQuery('.images').children().first().remove(); jQuery('.images').append("<img src='"+s+"' />"); scroll();}}); }
: 나는 기능 다음 만든
첫 번째 영상이 제대로 애니메이션, 모든 다음 이미지가 스크롤되지 않습니다 (애니메이션이 작동하지 않습니다) 1000
ms 후에 첫 번째 이미지가 끝까지 이동합니다. 사실 이미지가 변하고 있지만 애니메이션이 작동하지 않습니다.
마지막에 scroll()
함수가 너무 일찍 호출되지만 올바르게 연결하는 방법을 가정합니까?
"jQuery ('. images : first-child')"이미지를 대상으로하지는 않지만 홀더 자체를 가리키고 있습니다. 아니면 이미지 홀더를 번다? – drip