그래서 종종 "autoPlay"라는 구를 사용하여 즉시 시작되는 회전자를 설명하기 때문에 setInterval을 개체 속성으로 저장하고 싶습니다. 일련의 스크립트에서 "autoPlay"를 두 번 이상 사용하면 JS를 삭제하려고 시도 할 때 JS가 작동하지 않게됩니다. 내 치료법은 속성으로 어딘가에 넣는 것이므로 "newsRotator.autoPlay"와 같은 객체를 통해 액세스 할 수 있습니다. 이것은 예를 들어 내 시도 중 하나입니다개체 속성으로 setInterval 저장
autoPlay = setInterval(this.forwardSlide, 5000);
객체 속성으로 저장시 : 문제는 보통과 같이 기본 변수에 배치됩니다 이후, 그것은 그런 식으로 저장하는 방법을 잘 모르겠어요입니다 , 이는 간격 취소 실패
var newsRotator = {
run: function() {
$('.arrow').on('click', function (e) {
e.preventDefault();
clearInterval(newsRotator.autoPlay);
if ($(this).hasClass('back')) {
newsRotator.backSlide();
} else {
newsRotator.forwardSlide();
}
});
},
backSlide: function() {
(goes back one slide)
},
forwardSlide: function() {
(goes forwardone slide)
},
autoPlay: setInterval(this.forwardSlide, 5000),
init: function() {
this.run();
}
}
newsRotator.init()