나는 절대적으로 배치 된 div 집합을 이미지 용 컨테이너로 사용합니다. 각 div의 클래스는 photoCover
이고 img의 클래스는 fbPhoto
입니다. 페이지로드시 컬렉션의 각 이미지가 사라져서 아래의 루프를 드러내고 루프를 반복하는 루핑 기능을 설정했습니다.jQuery를 사용하여 시간 초과 기능을 중지하려고 시도했습니다.
사용자가 이들 중 하나를 클릭 할 때이를 멈추게하려면 필요한 것은 무엇입니까?
나는 $(this).stop(true, true)
과 몇 가지 예제를 포함하여 다양한 옵션을 시도했지만 아무 것도 작동하지 않는 것 같습니다.
$(document).ready(function() {
$('.photoCover').each(function() {
// get an array of elements to slide
var eleArray = $(this).children('.fbPhoto').get().reverse();
loopSmallSlides(eleArray);
});
});
$(ele).fadeToggle('slow').on("click", function() {
clearTimeout(thumbNailTimeOut);
});
이 시도 니펫 : 여기
다음과 같이 루프 기능
document.ready
생성 요소들의 어레이를 수용 루프 기능
var thumbNailTimeOut;
function loopSmallSlides(eleArray) {
var slideCount = eleArray.length;
$(eleArray).each(function (indexInArray) {
var ele = this;
thumbNailTimeOut = setTimeout(function() {
if (indexInArray == slideCount - 1) {
$(eleArray).fadeIn('slow').on("click", function() {
clearTimeout(thumbNailTimeOut);
});
clearTimeout(thumbNailTimeOut);
loopSmallSlides(eleArray); // loop the function when the end is reached
} else {
$(ele).fadeToggle('slow').on("click", function() {
clearTimeout(thumbNailTimeOut);
});
};
}, (indexInArray + 1) * 1000);
});
};
대한 코드의 배열 내의 각 요소에 클릭 핸들러를 추가하여 이러한 요소 중 하나를 클릭 할 때 시간 제한을 지우지 만 작동하지 않습니다. 당신이 볼 수 있듯이 변수 thumbNailTimeOut
은 전 세계적으로 사용 가능한 변수입니다 ... 이것까지 이해하면 timeOut
을 취소해야합니까?
언급했듯이 stop
을 사용해 보았지만 아무데도 갈 수 없어서 부모 요소에 click
을 추가하고 하위 애니메이션을 아래에서 반복하여 반복했지만 작동하지 않습니다.
$('.photoCover').each(function() {
$(this).children('.fbPhoto').stop(true, true);
});
HTML의 경우처럼 필요 외모 :
그래서 제 질문은, 내가 함께 그 애니메이션을 일시 정지 할 수있는 방법 부모.photoCover
요소 내에 중첩 된 이미지의 각 세트에이 루프를 설정하는 데있다
<style>
.photoCover{display:inline-block;width:204px;height:194px;vertical-align:top;}
.fbPhoto{position:absolute;display:inline-block;width:110px;height:110px;margin:4px;background-position:center center;background-repeat:no-repeat;border-radius:5px;border:16px groove #93BABA;background-color:#93BABA;}
</style>
<div class="photoCover">
<h4>Album Title</h4>
<span style="background-image: url('IMG URL');" class="fbPhoto"></span>
<span style="background-image: url(IMG URL); " class="fbPhoto"></span>
<span style="background-image: url(IMG URL); " class="fbPhoto"></span>
<span style="background-image: url(IMG URL); " class="fbPhoto"></span>
<span style="background-image: url(IMG URL); " class="fbPhoto"></span>
</div>
클릭 한 다음 다시 시작 하시겠습니까?
많은 도움을 주셨습니다. 그래서 이것에 관해서는 많은 다른 질문이있는 것 같지만이 예제에서 대답을 얻을 수는 없습니다!
감사합니다. 전체 작업을 완료하기 위해 약간의 손길을 뻗었지만 멋지게 작동했습니다! :) –