将jquery应用于使用无限滚动调用的元素

时间:2012-08-09 10:05:15

标签: jquery ajax infinite-scroll

我有一个帖子循环,我使用jquery悬停函数来扩展元素。我的问题是它只适用于最初在页面加载时显示的元素,并且对于附加无限滚动的任何内容都失败。

这是我用来扩展框

的脚本
$(document).ready(function() {
  $('.box').hover( function() {
       var height = $(this).children('.box-info').height();
       var newHeight = (height + 12);
       $(this).children('.box-image').css('top', -newHeight);
   }, function() {
       $(this).children('.box-image').css('top', 0);
  });
});

然后我有一个循环然后一个脚本来激活无限滚动

var href = 'first';
$(document).ready(function() {
 $('#boxes').infinitescroll({
    navSelector: '.infinitescroll',
    nextSelector: '.infinitescroll a',
    itemSelector: '#boxes .box',
    loadingImg: '<?php echo get_bloginfo('stylesheet_directory') ?>/images/loading.gif',
    loadingText: 'Loading...',
    donetext: 'No more pages to load.',
    debug: false
}, function(arrayOfNewElems) {
    $('#boxes').masonry('appended', $(arrayOfNewElems));
    if(href != $('.infinitescroll a').attr('href')) {
        href = $('.infinitescroll a').attr('href');
    }
 });
});

我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据你提供的小提琴:

HOVER 不适用于绝对定位的元素和动画

您可以使用“mouseenter”和“mouseleave”事件代替悬停,这些事件在子元素妨碍时不会触发:

根据聊天情况,请参阅此更新链接 http://jsfiddle.net/Gm7Xb/11/