在无限滚动加载tumblr上的新页面后,Jquery Scripts停止工作

时间:2013-07-04 21:58:55

标签: jquery drop-down-menu tumblr infinite-scroll

我有保罗爱尔兰的无限滚动插件运行,我还有一个脚本,当我悬停在他们的个人帖子上时会显示一个下拉div,但是,在无限滚动加载了第一组帖子后,下拉列表被搞砸了

我的下拉代码如下所示:

<script type="text/javascript">
    $(function() {
        $('.entry').hover(function() { 
            $(this).find('.notes').slideToggle(125); 
        });
    });        
</script>

我知道在无限滚动加载后我必须回调它,所以我将它添加到我的无限滚动插件中:

    <script type="text/javascript">
        $(document).ready(function(){
            $('#content').infinitescroll({ 
                navSelector : "div.navigation",
                nextSelector : ".navigation a#next",
                itemSelector : ".entry", 
                bufferPx : 50,
                animate  : 'true',
                extraScrollPx: 150,    
                loading: {
                    finished: undefined,
                    finishedMsg: "Congratulations, you've reached the end of the internet.",
                    img: "http://static.tumblr.com/8je4mhi/aLbmpfjp5/1.gif",
                    msg: null,
                    msgText: "",
                    selector: null,
                    speed: 'slow',
                    start: undefined
                },
            },function(newElements){                    
                  $('.entry').hover(function() { 
                      $(this).find('.notes').slideToggle(125); 
                   });
            });
        });
    </script>

但那会搞砸它。它使第一组帖子默认可见,并在悬停时隐藏,之后的下一组帖子被隐藏,但切换时不会保持显示。

如果有帮助,我的示例网站就在这里: http://test-theme-one.tumblr.com

我的完整HTML标记如果有帮助: http://pastebin.com/c1N37r6U

也许有人可以指出我哪里出错了?

1 个答案:

答案 0 :(得分:0)

您需要使用jQuery的on()函数。

只需将初始代码更改为:

$('#content').on('hover', '.entry', function () {
  $(this).find('.notes').slideToggle(125);
});

...并删除无限滚动回调中的悬停功能。

可在此处找到更多信息:http://api.jquery.com/on/