without plugin more for endless jquery wordpress triggers infinite-scroll

jquery - more - infinite scroll wordpress without plugin



desencadenador manual de desplazamiento infinito (3)

Hice la siguiente modificación para asegurar que el enlace de navegación apareciera después de hacer clic la primera vez:

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

Simplemente no parece funcionar ... :-( He visto más quejas al respecto, pero no puedo encontrar la respuesta.

El problema: el desplazamiento infinito funciona pero no el disparador manual. Cuando hago clic en el enlace, no pasa nada. Firebug da

Scroll infinito

Mi código:

<?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>

Y mi guion:

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; });

también intenté

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

en lugar de

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

pero sin suerte.

Firebug luego dice trigger(retrieve.infscr) called incorrectly


Pfoe, lo encontré ... Larga vida a una buena documentación (¡NO con este complemento!)

Esta:

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

Debiera ser:

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

el mayor problema fue el .infscr que no debería estar allí ... Espero que ayude a alguien más ...

Solución tipo documentación:

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

Nota:
Es posible que tenga que agregar el comportamiento de activación manual si está trabajando con mampostería o isótopo para que funcione. Simplemente incluya manual-trigger.js después de infinitescroll y pase el comportamiento al pasar el behavior: ''twitter'' cuando llame al plugin.


Tal vez ... $ (''# next a''). Haga clic en (); ?