슬라이드 쇼를 만들 때 lis의 끝에 도달하면 오른쪽 화살표를 클릭하면 아약스가 실행되고 새 이미지 목록이로드됩니다. 두 번째 목록의 끝에 도달하면 아약스가 agaiin을 실행해야합니다. 두 번 빨리 누르면 ajax가 두 번 실행되고 한 번만 활성화되는 대신 필요한 글로벌 바를 변경합니다. Ajax 성공이 버튼을 다시 표시 할 때까지 두 번 누를 수 없도록 버튼을 숨기기 위해 hide를 배치 할 수 있습니다. 버튼은 div에 불과합니다. 나는 그것을 숨기고 싶지 않습니다. 왜냐하면 초 동안 숨겨져 있기 때문에 그것을 숨기고 싶습니다. 그 후에 rightNav를 바인딩 해제하려고하면 아약스 성공에 다시 바인딩 할 수 없습니다. 무엇이 문제 일 수 있습니까? rightNav.bind('click');
실제로 함수에 click
이벤트를 결합하지 않기 때문에jquery가 아약스 성공시 바인딩 해제 및 바인딩
rightNav.click(function(){
if(index <= listLength - 2){
index = index + 1;
appendImage(index);
}
else {
rightNav.unbind('click');
nextUrl = '/GetPhotosCriterians?categoryid=' + pCategoryId + '&styleid=' + pStyleId + '&terms=' + pTerms + '&pos=' + nextPos;
$.ajax({
type: "GET",
url: nextUrl,
dataType:"json",
success: function(data){
imagesList = data;
listLength = imagesList.length;
appendImage(0);
curentPos = nextPos;
nextPos = nextPos + imgNumber;
prevPos = curentPos - imgNumber;
rightNav.bind('click');
}
});
}
});
고마워, 나는 당신의 첫 번째 솔루션을 시도하고 그것을 작동합니다. – user2406735