2012-05-26 11 views
13

prostu nie wydają się działać ... :-(Widziałem więcej skarg o tym, ale nie mogę znaleźć odpowiedzinieskończonego przewijania ręczny spust

Problem:. nieskończone prace przewijania, ale nie . ręczny spust Kiedy klikam odnośnik, nic się nie dzieje Firebug daje

Infinite Scroll

mój kodu:.

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

A mój skrypt:

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

próbował również

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

zamiast

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

ale bez powodzenia.

Firebug następnie mówi trigger(retrieve.infscr) called incorrectly

Odpowiedz

53

Pfoe, okazało się, że ... Niech żyje dobrą dokumentację

To (NIE z tej wtyczki!):

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

Powinno być:

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

największym problemem był .infscr, którego nie powinno tam być .. Mam nadzieję, że pomoże to komuś se ..

Dokumentacja podobny rozwiązanie:

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

Uwaga:
Być może trzeba będzie dodać manual trigger behavior jeśli pracujesz z murowanych lub izotopu w celu uczynienia go pracy. Wystarczy podać manual-trigger.js po infinitescroll i przekazać zachowanie, przekazując behavior: 'twitter' podczas wywoływania wtyczki.

+4

Strzelałbym w stopę cały dzień, gdyby nie ten post! – Norris

+0

Dziękuję bardzo! Więc nietypowy dla Paula Irlandczyka ... – jetlej

+0

"Niech żyje dobra dokumentacja (NIE z tą wtyczką!)." Zgadzam się 100% – Dev

0

Może ... $ ('# obok a') kliknij (.); ?

+0

Nie, żeby to było takie proste, wszystko inne w moim skrypcie tylko ładunki z jQuery (document). ready (funkcja() {}.A nieskończony scroll działa (co dowodzi jQuery zamiast $), a nie wyzwalacz ręczny. – inTOWN

+0

wydaje się, że to powinno działać ... jQuery ('ul # infinite') infinitescroll ('retrieve') –

1

zrobiłem następujący uszczypnąć, aby zapewnić łącza nawigacji pojawił się po raz pierwszy kliknął:

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

Witaj, Divot, czy istnieje sposób na ukrycie przycisku, gdy nie ma już żadnych postów? Jeśli zrobię to, co zasugerowałeś, przycisk będzie wyświetlał się cały czas, nawet jeśli nie będzie już żadnych wpisów. – Jeff

Powiązane problemy