2012-05-26 13 views
13

einfach nicht zu funktionieren scheint ... :-(Haben mehr Beschwerden darüber gesehen, aber ich kann keine Antwort findenunendliche Scroll manuelle Auslösung

Das Problem:. Infinite Werke scroll aber nicht . die manuelle Auslösung Wenn ich auf den Link klicken, passiert nichts Firebug gibt

Infinite Scroll

Mein 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 ('&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>  

Und mein Skript:

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

auch versucht

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

statt

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

aber kein Glück.

Firebug dann sagt trigger(retrieve.infscr) called incorrectly

Antwort

53

PFOE, fand es ... Lange gute Dokumentation leben

Diese (nicht mit diesem Plugin!):

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

Sollte sein:

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

die Das größte Problem war die .infscr, die nicht da sein sollte. Hoffe es hilft jemandem el se ..

Dokumentation-ähnliche Lösung:

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

Hinweis:
Sie haben die manual trigger behavior hinzufügen, wenn Sie mit Mauerwerk oder Isotop, um arbeiten zu machen, arbeiten. Fügen Sie einfach manual-trigger.js nach infinitescroll hinzu und übergeben Sie das Verhalten, indem Sie beim Aufruf des Plugins behavior: 'twitter' übergeben.

+4

Ich würde mich den ganzen Tag in den Fuß schießen, wenn es nicht für diesen Beitrag wäre! – Norris

+0

Vielen Dank! Also nicht typisch für Paul Irish ... – jetlej

+0

"Es lebe gute Dokumentation (NICHT mit diesem Plugin!)." Stimme zu 100% – Dev

0

Vielleicht ... $ ('# next a')() klicken. ?

+0

Nein, das einfach, alles anderes in meinem Skript Ich wünschte, es war nur Lasten mit jQuery (document). bereit (Funktion() {} Funktion.Und das unendliche Scroll funktioniert (das beweist jQuery anstelle von $) nur nicht den manuellen Auslöser. – inTOWN

+0

scheint das zu funktionieren ... jQuery ('ul # infinite'). Infinitescroll ('retrieve') –

1

Ich habe die folgenden zwicken der Navigationslink auftauchte, um sicherzustellen, nachdem das erste Mal angeklickt wird:

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

Hallo Divot, gibt es eine Möglichkeit, den Button zu verstecken, wenn es keine Post mehr gibt? Wenn ich das mache, was Sie vorgeschlagen haben, wird die Schaltfläche die ganze Zeit angezeigt, auch wenn Sie keine Beiträge mehr haben. – Jeff

Verwandte Themen