Вопрос по jquery – бесконечный свиток ручной триггер

13

Просто, похоже, не работает ... :-( Видел больше жалоб на это, но я не могу найти ответ.

Проблема Бесконечная прокрутка работает, но не ручной триггер. Когда я нажимаю на ссылку, ничего не происходит. Firebug дает

Бесконечная прокрутк

Мой код:

    <?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, 'video_video', 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) called incorrectly

Ваш Ответ

2   ответа
53

нашел его ... Да здравствует хорошая документация (НЕ с этим плагином!)

Это

 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.js после бесконечно прокрутки и передать поведение, передаваяbehavior: 'twitter' при вызове плагина.

Я бы продолжал стрелять себе в ногу весь день, если бы не этот пост! justnorris
Огромное спасибо! Так что не типично для Пола Ирландского ... jetlej
"Да здравствует хорошая документация (НЕ с этим плагином!)." Согласен 100% Dev
1

чтобы навигационная ссылка отображалась после первого нажатия:

jQuery("#clickable_element").click(function(){
    jQuery('#main_content_container').infinitescroll('retrieve');
    jQuery('#pagination').show();
    return false;
});
Hi Divot, есть ли способ скрыть кнопку, когда больше нет сообщений? Если я сделаю то, что вы предложили, кнопка будет отображаться постоянно, даже если сообщений больше нет. Jeff

Похожие вопросы