Бесконечная прокрутка и выпуск галереи изображений - PullRequest
0 голосов
/ 28 декабря 2011

Я настроил бесконечный свиток на веб-сайте, который я строю здесь: http://richardgordoncook.com/fg/

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

Есть идеи? Вы получите представление, когда протестируете его по ссылке на сайт выше.

1 Ответ

1 голос
/ 28 декабря 2011

Элементы, добавленные бесконечной прокруткой, должны иметь события JavaScript, связанные с ними после их создания. См. Функцию jQuery .live() для получения дополнительной информации о том, как это легко сделать.

По сути, вы заменяете

$('.myclass').mouseover(function(){})

на

$('.myclass').live('mouseover', function(){});

И jQuery автоматически подключит все дополнительные события после добавления новых элементов dom на страницу.

ОБНОВЛЕНИЕ

Хорошо, забудьте о подходе .live().Похоже, что плагин имеет функцию обратного вызова, которая вызывается всякий раз, когда он добавляет новые новые элементы на страницу.

$(elem).infinitescroll(options,[callback]);

Функция обратного вызова задокументирована как

function(arrayOfNewElems){

     // optional callback when new content is successfully loaded in.

     // keyword `this` will refer to the new DOM content that was just added.
     // as of 1.5, `this` matches the element you called the plugin on (e.g. #content)
     //                   all the new elements that were found are passed in as an array

}

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

function(elements)
{
    $(elements).mouseover(function(){});
    $(elements).mouseout(function(){});
}

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

...