2015-03-12 4 views
0

Я построил довольно простой блог WordPress, однако, приближаясь к заключительным этапам, я столкнулся с небольшой проблемой, которую я не могу понять для жизни меня!Блог WordPress - jQuery Issue

Сайт http://lincsbusiness.co/, его запуск ajax-запроса, поэтому, когда вы получаете нижнюю часть страницы, ее вызовы следующие вопросы со следующей страницы. Довольно просто.

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

  1. Обновить домашнюю страницу
  2. Раскрыть первый вопрос, так что вы можете увидеть суб заголовки
  3. Прокрутите вниз и пока вы получите выпуск 12
  4. Try и расширить это, и вы будете обратите внимание, что расширение отскакивает.

Я использую функцию обратного вызова jQuery, поэтому после завершения запроса AJAX это позволяет jQuery продолжать работать.

И, чтобы прекратить дублировать кусок jQuery для одного перед событием, а один за другим, я дал первые четыре номера в списке уникальных идентификаторов, которые отличаются от тех, которые указаны в обратном вызове.

Вот код, я использую

jQuery(document.body).on('click', '.before-load', function(event) { 
    jQuery(this).closest('.thepost').find('.thepost-entry').slideToggle('slow'); 
}); 

И я использую другую часть, которая идентична, но просто использует класс «.after нагрузки», только так я могу их разделить.

Если вы можете повторить проблему и посмотреть, что происходит, и иметь потенциальное исправление. это серьезно спасло бы меня от моего здравого смысла.

Благодаря

ответ

0

У меня есть ощущение, что это происходит потому, что вы заново добавить прослушиватель щелчка каждый раз, когда вы расширяете страницу, так что, вероятно каждый раз, когда вы загружаете другие сообщения, следующие после нажатия кнопки отскоков +1 раз.

Я бы рекомендовал остановить любое другое исполнение JQuery, с удалением «Клик» обработчик, затем позволяя вызов Ajax расширить страницу ... и затем повторно добавлять «Клик» обработчик к каждому сообщению.

+0

Это звучит так, будто вы на что-то здесь, было бы хорошо, если я попрошу вас подробно остановиться на вашем решении? :) –

+0

Да, похоже, что перемещение функции jQuery click вне обратного вызова, просто в обычный файл сценариев сделал трюк. Вау. Что-то очень простое, спасибо! –

+0

Это было не похоже на то, что я сказал, но, по крайней мере, я заставил вас заглянуть в нужное место. Я видел, что у вас были разные обратные вызовы для загрузки до и после загрузки, и вам, вероятно, это не нужно, только для записи. Вы должны иметь возможность определить его один раз для всех из них. –