jquery – 无限滚动手动触发

前端之家收集整理的这篇文章主要介绍了jquery – 无限滚动手动触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是似乎没有工作… :-(已经看到更多的抱怨,但我找不到答案.

问题:
无限滚动工作,但不是手动触发.
当我点击链接,没有任何反应.
Firebug给了

Infinite Scroll

我的代码

<?PHP echo ('<ul id="infinite">'); ?>
<?PHP 
$wp_query = new WP_Query();
$wp_query->query('paged='.$paged.'&cat=5&showposts=3&Meta_key=video_video&orderby=Meta_value&order=ASC'  . $post->ID);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?PHP if ( get_post_meta($post->ID,'video_video',true) ) : ?>
    <li class="video"><?PHP $home = array("h" => 290,"w" => 380,"zc" => 1,"q" =>100);
            //echo get('video_video');
            echo ('With: ');
            echo get('participant_first_name');
            echo ('&nbsp;');
            echo get('participant_last_name');
            echo ('</li>');?>

<?PHP endif;?>


<?PHP endwhile;?>

<?PHP if (get_post_meta($post->ID,true) ) { ?>
    <?PHP if ($wp_query->max_num_pages > 1) : ?>
        <nav id="nav-below" >
        <div id="next" >
        <?PHP next_posts_link( __( 'Scroll down for more','intowntheme' ) ); ?></div>
        </nav>
    <?PHP endif; //end nav ?>
<?PHP } else {  ?>
<p>There are no interviews at the moment </p>
<?PHP }   ?>     
</ul>

和我的脚本:

jQuery('ul#infinite').infinitescroll({ 
    navSelector  : "#next",// selector for the paged navigation (it will be hidden)
    nextSelector : "#next a",// selector for the NEXT link (to page 2)
    itemSelector : "ul#infinite li",// selector for all items you'll retrieve
    errorCallback: function() { 
          // fade out the error message after 2 seconds
          $('#infscr-loading').animate({opacity: 0.8},2000).fadeOut('normal');   
        },loading         : {
         msgText: "<em>Loading the next year of Grantees...</em>",finishedMsg: "<em>You've reached the end of the Interviews.</em>"
    },});

  //kill scroll binding
    jQuery(window).unbind('.infscr');
    //setTimeout("jQuery('#next').slideDown();",1000);
     //hook up the manual click guy.

    jQuery('#next a').click(function(){
        jQuery('#next a').infinitescroll('retrieve.infscr');
     return false;
    });

也试过

jQuery(document).trigger('retrieve.infscr');

代替

jQuery('#next a').infinitescroll('retrieve.infscr');

但没有运气.

然后Firebug说trigger(retrieve.infscr)的命名不正确

解决方法

Pfoe,发现它…长期的好文档(不用这个插件!)

这个:

jQuery('#next a').click(function(){
    jQuery('#next a').infinitescroll('retrieve.infscr');
 return false;
});

应该:

jQuery('#next a').click(function(){
    jQuery('ul#infinite').infinitescroll('retrieve');
 return false;
});

最大的问题是不应该在那里的.infscr
希望它帮助别人..

类似文档的解决方案:

jQuery("#clickable_element").click(function(){
    jQuery('#main_content_container').infinitescroll('retrieve');
        return false;
});

注意:
如果您正在使用砖石或同位素以使其工作,您可能需要添加manual trigger behavior.只需在infinitescroll之后添加manual-trigger.js,并通过传递行为传递行为:“twitter”调用插件时.

猜你在找的jQuery相关文章