Just doesn't seem to work... :-( Have seen more complaints about it but I can't find the answer.
The Problem: Infinite scroll works but not the manual trigger. When I click the link, nothing happens. Firebug gives
Infinite Scroll
My code:
<?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>
And my 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;
});
also tried
jQuery(document).trigger('retrieve.infscr');
instead of
jQuery('#next a').infinitescroll('retrieve.infscr');
but no luck.
Firebug then says trigger(retrieve.infscr) called incorrectly
Infinite scrolling is a web-design technique that loads content continuously as the user scrolls down the page, eliminating the need for pagination. The success of infinite scrolling on social media sites such as Twitter have made this technique popular, but that doesn't mean you should do it too.
Infinite scrolling is a feature that allows you to load some pics on a website and then load more once the user reaches the end of the webpage (like we see on Pinterest). We will start off by creating three files, index. html , style. css , and app.
The jQuery Infinite Scroll feature has become quite common now days. Different websites including Facebook and Twitter are already using it. This feature helps in creating Auto Paging (not link-based paging) in a web page so when a user scrolls down to the bottom, the next page's content are automatically loaded.
Pfoe, found it... Long live good documentation (NOT with this plugin!)
This:
jQuery('#next a').click(function(){
jQuery('#next a').infinitescroll('retrieve.infscr');
return false;
});
Should be:
jQuery('#next a').click(function(){
jQuery('ul#infinite').infinitescroll('retrieve');
return false;
});
the biggest problem was the .infscr which shouldn't be there.. Hope it helps someone else..
Documentation-like solution:
jQuery("#clickable_element").click(function(){
jQuery('#main_content_container').infinitescroll('retrieve');
return false;
});
Note:
You may have to add the manual trigger behavior if you are working with masonry or isotope in order to make it work. Just include manual-trigger.js
after infinitescroll and pass the behavior by passing behavior: 'twitter'
when calling the plugin.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With