2009-09-14 1 views
0

잠시 동안이 문제를 꼼짝 않고 바라 보았습니다. 방화범이 필요합니다. AJAX 요청을 살펴보십시오. 보는jQuery load() 내에서 여러로드가 발생하는 ajaxComplete() 콜백 내

/freegreen/virtual-tour-prototype/js/virtual-tour.js 

기능 : 이것에 대한

http://www.ftsdev.com/freegreen/virtual-tour-prototype/virtual-tour.html

모든 자바 스크립트 소스에 : 그것은 완전히로드 너무 느리 때까지 그들은, 다음 및 이전의 각 클릭 후 곱하는 것으로 보인다 :

ajaxComplete()가 호출되면 콜백 함수 외부의 Array에로드 된 파일을 검사합니다. 이를 통해 시리즈의 첫 번째 요소인지 마지막 요소인지 판단 할 수 있으므로 이전 단추 또는 다음 단추를 적절하게 숨길 수 있습니다. 문제는 indexInArray에 저장되어있는 inArray() 값에 1을 더하는 80-82 행에 있습니다.

나는 주위를 둘러 보았지만 비슷한 상황을 찾을 수는 없지만 도움이된다면 많은 도움이 될 것입니다.

감사합니다.

답변

1

간단히 페이지를 사용해 보았습니다. 코드와 내 직감 반응의 빠른 훑어보기에서 이전에 바인딩 된 클릭 이벤트의 바인딩을 해제하지 않은 것처럼 보입니다.

  1. 사용자 당신은
  2. 사용자가 다음/이전을 사용하여, 주위 클릭 다음/이전 클릭 이벤트를 바인딩
  3. 슬라이드 쇼를 불러옵니다 클릭 : 지금까지 내가이 말할 수있는 버그의 흐름은
  4. 사용자가 다른 슬라이드 쇼로 클릭 현재 슬라이드 쇼 중 버튼
  5. 사용자가 클릭
  6. 당신은
  7. 사용자가 NEX를 사용하여, 주위 클릭 다음/이전 클릭 이벤트를 바인딩 t/prev 버튼을 클릭하면 내용이 두 번 호출됩니다.

사용자가 첫 번째 슬라이드 쇼를 클릭 할 때 클릭 이벤트를 바인딩 해제해야합니다. 또는 6 단계에서 바인딩하지 마십시오.

+0

Sam, 내일 아침에 위의 첫 번째 일을 토대로 디버깅을 시도하고 어떻게 진행되는지 알려 드리겠습니다. –

+0

아아아, 방금 찍었고 효과가있었습니다. 나는 이벤트를 ajaxComplete 외부로 옮기고 라이브 이벤트를 만들어 AJAX로드 된 컨텐츠의 내용에 첨부하고 작동하게했습니다. 이 샘에 대해 너무 고마워, 나는 이걸 너무 빨리 풀 수 있다고 생각하지 못했다! –

+0

Kevin의 이야기를 듣기가 대단히 기쁩니다. :-) 나머지는 행운을 빌어 요! –