我在我在这里建立的网站上设置了无限滚动:http://richardgordoncook.com/fg/
我正在使用一个Wordpress插件用于图片库,我已经操作了一点点悬停文件名等。这一切都很好,直到无限滚动开始,第一页后面的任何帖子似乎停止使用库功能和任何javascript。
有什么想法吗?当你在上面的网站链接上测试它时,你会知道。
答案 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
循环并逐个迭代每个项目,而不是作为一个批次处理它们。