2009-09-14 2 views
0

Я смотрел на это некоторое время, и я полностью в тупике. Для этого вам понадобится firebug, посмотрите на запросы AJAX. Они, кажется, умножая после каждого щелчка следующий и предыдущий, пока это не слишком медленно, чтобы загрузить полностью:jQuery load() изнутри ajaxComplete() обратный вызов, вызывающий множественные нагрузки

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

Весь исходный JavaScript для этого в:

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

функций, чтобы смотреть на :

launchVirtualTour() 
$('#vt-next').one('click',function() 
$('#vt-prev').one('click',function() 

Когда ajaxComplete() вызывается проверить файл, загруженный на массив за пределами функции обратного вызова. Это позволяет мне определить, является ли это первым или последним элементом в серии, чтобы я мог скрыть предыдущие или следующие кнопки соответственно. Я имею в виду, что проблемы лежат где-то в строках 80-82, где я добавляю 1 к значению inArray(), хранящемуся в indexInArray.

Я ищу вокруг, но не могу найти подобных ситуаций там, любая помощь очень ценится.

Спасибо!

ответ

1

Я коротко опробовал страницу. Из быстрого обзора кода и моей реакции кишки, похоже, вы не отключаете ранее связанные события кликов. Насколько я могу сказать, что это поток для вашей ошибки:

  1. Пользователя щелкает, чтобы открыть слайд-шоу
  2. свяжут следующий/предыдущие клики событие
  3. Пользователь нажимает вокруг, используя следующие/пред кнопки
  4. пользователь щелкает из текущего слайд-шоу
  5. Пользователь нажимает на другой слайд-шоу
  6. привязывается следующая/предыдущая кликах события
  7. Пользователь нажимает вокруг, используя NEX t/prev, вызывая повторный вызов контента

Необходимо отменить события кликов, когда пользователь щелкает первый слайд-шоу. Или не связывайтесь на шаге 6.

+0

Большое спасибо Сэму, я попробую отлаживать на основе вышеприведенного первого завтрашнего утра и дам вам знать, как это происходит. –

+0

Ха, я просто сделал снимок, и это сработало. Я перемещаю события за пределы ajaxComplete и делаю их живыми событиями, чтобы они прикреплялись к содержимому загруженного содержимого AJAX, и он работал. Большое спасибо за этого Сэма, я никогда не думал, что смогу решить эту проблему так быстро! –

+0

Очень рад услышать Кевин. :-) Удачи с остальными! –

Смежные вопросы