필자는 추가 작업/단계로 슬라이드 업을 호출하는 기능이 있습니다. 간헐적으로 함수 내의 슬라이드 업 코드가 두 번 호출됩니다. 누군가 내가 잘못한 것을 발견 할 수 있습니까?슬라이드 쇼가 두 번 호출되는 이유는 무엇입니까 (간헐적 인 문제)?
글로벌 변수는
var currIndex = 0;
문제가 간헐적으로
function PreNext(direction) {
alert('Test #1');
var thisMaxlen = homes.length - 1; // homes is an array.
var ctrl_toolTip = $('#controlSlideShow .tooltip');
$(ctrl_toolTip).slideUp('slow' function() {
alert('Test #2');
if (direction == 'Next') {
(currIndex >= thisMaxlen ? currIndex = 0 : currIndex++);
}
else {
(currIndex <= 0 ? currIndex = thisMaxlen : currIndex--);
}
});
alert('Test #3');
};
와 기능의 slideup는 두 번 호출됩니다.
결과는
Test #1
Test #2
Test #2
Test #3
응답 해 주셔서 감사합니다. 나도 그 이유를 생각했을지도 모른다. 그러나 단 하나의 .tooltip 요소가 있다고 확신합니다. 확실히하려면 $ (ctrl_toolTip) .length를 사용하고 1을 반환했습니다. – Tommy
흠, 이상하게 생각합니다. 더 명확하게 만들 수있는 피들 (jsfiddle.net)을 만들 수 있습니까? 그럼 내가 너를 도울 수있을 것 같아. –