그래서 저는 이전 및 다음 버튼으로 매우 간단한 슬라이드 쇼를 코딩했습니다.
그러나 이전 버튼을 누르면 슬라이더가 작동하지만 빈 div로 이동합니다.
참고 : 슬라이더를로드하고 왼쪽 회색 버튼을 누른 다음 슬라이드 쇼를 계속하십시오 ... 빈 div가 있습니다.
이 문제를 어떻게 해결하고 문제의 원인은 무엇입니까?
JS 바이올린 : https://jsfiddle.net/z93tyrtx/
$("#slider > div:gt(0)").hide();
// fade out current slide (first), fade in next slide and move first slide to end
var nextSlide = function () {
$("#slider > div:first")
.fadeOut(1000)
.next()
.fadeIn(1000)
.end()
.appendTo("#slider");
}
var nextSlideTimer = setInterval(nextSlide, 5000);
// fade out current slide (first) and move last slide to top and fade in
$("#prev-button").click(function () {
clearInterval(nextSlideTimer);
$("#slider > div:first")
.fadeOut(1000);
$("#slider > div:last")
.fadeIn(1000)
.prependTo("#slider");
nextSlideTimer = setInterval(nextSlide, 5000)
setTimeout(nextSlideTimer, 5000)
});
$("#next-button").click(function () {
clearInterval(nextSlideTimer);
$("#slider > div:first")
.fadeOut(1000)
.next()
.fadeIn(1000)
.end()
.appendTo("#slider");
nextSlideTimer = setInterval(nextSlide, 5000)
setTimeout(nextSlideTimer, 5000)
});
문제는 .prependTo
이전 버튼 클릭에서 실제로 a
태그 앞에 마지막 div를 삽입하지만 그 뒤에 삽입해야한다는 것입니다.
그냥 교체
.prependTo("#slider");
에
.insertAfter("#slider > a#next-button");
이 바이올린 확인
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다