2015-07-02 2 views
0

Я использую 2 скрипта jQuery на странице, состоящей из повторяющихся элементов (в основном, в виде галереи миниатюр). Скрипты находятся в конце html-страницы в двух отдельных тегах сценария.jQuery Script Triggering Другой скрипт jQuery

Первый вызов сценария с использованием плагина touchTouch, который представляет изображения в приятном наложении и позволяет прокручивать навигацию.

Вторая бесконечная прокрутка AJAX, которая добавляет больше предметов на страницу при прокрутке вниз.

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

Как сделать скрипт touchTouch снова запущенным после того, как бесконечный скрипт прокрутки добавил новые элементы на страницу?

Вот отрывок из конца HTML

<script src="assets/touchTouch.jquery.js" type="text/javascript"></script> 
<script> 
$(function(){ 
// Initialize the gallery $('#thumbs a').touchTouch(); }); 
</script> 

<script type="text/javascript" src="assets/jquery-ias.min.js"></script> 
<script type="text/javascript"> 
var ias = $.ias({ 
    container: "#thumbs", 
    item: ".thumb", 
    pagination: "#pagination", 
    next: ".next a" 
}); 
    ias.extension(new IASSpinnerExtension()); 
    ias.extension(new IASTriggerExtension({offset: 5})); 
    ias.extension(new IASNoneLeftExtension({text: 'There are no more pages left to load.'}) 
); 
</script> 
</body> 
</html> 
+0

Можете ли вы предоставить ссылку на скрипку/демо? это было бы полезно. –

+0

Я попробую :) может быть сложно связать скрипты, хотя ... – j0nr

+0

взгляните на документы - после того, как он загрузил новый контент, вы должны добавить что-то с строками .. ias.on ('loaded', function (data , пункты) { // вызов touchtouch здесь }) – roeb

ответ

0

Использования бесконечного AJAX прокрутки плагина, вы можете иметь его запустить функцию обратного вызова, когда он загрузил изображения. В этой функции вы можете снова вызвать метод .touchTouch().

ias.on('rendered', function(items) { 
    $('#thumbs a').touchTouch(); 
}); 
+0

Спасибо! Кажется, это трюк. Что-то не так. Ползунок touchTouch не правильно отображает все изображения, как на изображениях, предшествующих infscroll. Он указывает на правильное изображение, но не загружает предварительный просмотр. Мне придется копать глубже. – j0nr

+0

Раздражающий плагин touchTouch не очень обширен и не предлагает способ отменить изменения, которые он делает. Рассматривая исходный код для него, он добавляет html-код в тело страницы и каждое изображение. Так что запустите его несколько раз, добавив несколько элементов html, что вызовет проблемы. Возможно, воспользуйтесь исходным кодом касания и создайте метод 'destroy'? –

+0

Звучит неплохо. Я посмотрю и посмотрю, что я делаю. В качестве альтернативы я также могу найти еще один плагин с эффектом салфетки. Я не привязан к touchTouch. – j0nr