2016-07-31 20 views
0

Aus irgendeinem Grund kann ich die Bildlaufleiste nicht sehen, wenn ich sie über Javascript initialisiere, aber ich kann sie über HTML initialisieren.mCustomScrollbar Deaktivieren der Bildlaufanimation

Die Bildlaufleiste soll innerhalb von #popup-scroll erscheinen, die php Inhalt hat. Dies ist alles innerhalb einer Galerie, wobei das Popup als Leuchtkasten für jedes Element in der Schleife fungiert.

 <?php 
    $the_query = new WP_Query(array(
    'post_type' => 'post')); while ($the_query->have_posts()) : $the_query->the_post();?> 
    <?php 
     echo'<figure><a class="popup-with-zoom-anim" href="#'.$post->post_name.'">'.the_post_thumbnail().'<div class="title"><h2>'.$post->post_title.'</h2></div></a></figure>'; 

    echo'<div id="'.$post->post_name.'" class="zoom-anim-dialog mfp-hide"> 
<div id="popup-scroll">'.$content.'</div></div>'; ?> 

    <?php endwhile; wp_reset_postdata(); ?> 

von Javascript Initialisierung (funktioniert nicht):

<script> 
    (function($){ 
     $(window).on("load",function(){ 
      $("#popup-scroll").mCustomScrollbar({scrollInertia: 0}); 
     }); 
    })(jQuery); 
</script> 

von HTML-Initialisierung (Werke):

<div id="popup-scroll" class="mCustomScrollbar" data-mcs-theme="dark"> 
    <!-- the content --> 
</div> 

Das Ziel ist es, die Scroll-Animation scrollInertia: 0, die zu deaktivieren nur durch die Javascript-Initialisierung erfolgen.

The developer site, for reference

Antwort

0

Ok, da die Bildlaufleiste in einem div ist, das erscheint nur, wenn die Leuchtkasten/modalen Fenster geöffnet wird, ich folgende zu meinem Skript hinzuzufügen hatte:

live: true 

So, Insgesamt ist die JavaScript-Funktion dies:

<script> 
    (function($){ 
     $(window).on("load",function(){ 
      $("#popup-scroll").mCustomScrollbar({ 
       scrollInertia: 0, 
       live: true 
      }); 
     }); 
})(jQuery); 
</script> 

Es funktioniert jetzt.