Бесконечный ручный триггер свитка
Просто похоже не работает...:-( Увидели больше жалоб на это, но я не могу найти ответ.
Проблема:
Бесконечный свиток работает, но не ручной триггер.
Когда я нажимаю ссылку, ничего не происходит.
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 (' ');
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>
И мой script:
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
Ответы
Ответ 1
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.js
после infinitescroll и передайте поведение, передав behavior: 'twitter'
при вызове плагина.
Ответ 2
Я сделал следующую настройку, чтобы убедиться, что ссылка на навигацию появилась после нажатия в первый раз:
jQuery("#clickable_element").click(function(){
jQuery('#main_content_container').infinitescroll('retrieve');
jQuery('#pagination').show();
return false;
});
Ответ 3
Может быть...
$ ('# next a'). click();