无限滚动和图库的问题

时间:2011-12-28 16:46:13

标签: jquery wordpress infinite-scroll

我在我在这里建立的网站上设置了无限滚动:http://richardgordoncook.com/fg/

我正在使用一个Wordpress插件用于图片库,我已经操作了一点点悬停文件名等。这一切都很好,直到无限滚动开始,第一页后面的任何帖子似乎停止使用库功能和任何javascript。

有什么想法吗?当你在上面的网站链接上测试它时,你会知道。

1 个答案:

答案 0 :(得分:1)

无限滚动添加的元素需要在创建后将JavaScript事件连接到它们。 有关如何轻松完成此操作的详细信息,请参阅jQuery的.live()函数。

基本上,你替换

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

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

在将新的dom元素添加到页面后,jQuery会自动连接所有额外的事件。

更新

好的,忘了.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循环并逐个迭代每个项目,而不是作为一个批次处理它们。