2013-02-15 4 views
0

Фон: Я делаю сайт портфолио, используя Swipe.js и Infinite Ajax Scroll (JQ).Infinite Scroll + Swipe.js

Проблема: Когда содержимое с дополнительных страниц загружается на текущую страницу, оно не обрабатывается уже загруженным скриптом Swipe.js. Это означает, что новый контент не имеет измененной маркировки (необходимо, чтобы функциональность салфетки работала).

Мне кажется, мне нужно запустить сценарий Swipe.js после перезагрузки каждой страницы. Это исправить? Пожалуйста, объясните это мне, как будто я старше 8 лет. JS не конек ...

Демо: http://hatchcreative.co.nz/tomo

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

+0

Также - за бонусные баллы - если кто-нибудь знает, как удалить # home/#about бит с URL-адреса, вы бы полностью сделали мой день! – Tomo

ответ

0

Да, вы правы, после загрузки изображений вам нужно создать новый экземпляр Swipe для этих новых элементов (поскольку их не было в начале, когда страница была загружена).
Основываясь на документах бесконечного прокрутки, вы можете использовать onRenderComplete.

Так у вас был jQuery.ias конструктор так:

jQuery.ias({ 
    // ... your settings... 
    onRenderComplete: function(items) { 
    $(items).each(function(index, element) { 
     new Swipe(element); 
    }); 
    } 
}); 

Это должно работать так или иначе, но я не совсем уверен, Я еще не работал с этими библиотеками.

Edit:
После некоторого более инспекции кода, я видел, как вы имели некоторый встроенный обработчик щелчка, как: onclick='two.prev();return false;'.

Вам необходимо удалить это и добавить свою ручку onclick в ту же функцию onRenderComplete.

onRenderComplete: function(items) { 
    var swipe; 
    $(items).each(function(index, element) { 
    swipe = new Swipe(element); 
    }); 

    // find tags with the class 'forward' inside the current element and add the handler 
    $(element).find('.forward').on('click', function() { 
    swipe.next(); 
    }); 
    // ... also for previous 
} 

Кстати: Обычно вы должны обеспечить jsFiddle с важными частями коды, так что легче для нас, чтобы получить эту проблему, и вопрос не получает obsolote, когда связанные изменений страницы ,

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