2010-08-21 8 views
8

J'ai un div qui a 100% de largeur de la fenêtre, qui est un conteneur pour la div jScrollPane.jScrollPane redimensionner

Lors du redimensionnement de la fenêtre, le volet de défilement ne bouge pas, y a-t-il un moyen de redimensionner jScrollPane avec la fenêtre?

Merci!

Répondre

12

Vous pouvez utiliser l'appel API reinitialise() pour cela. Il est couvert dans l'une des pages d'exemple ici. http://jscrollpane.kelvinluck.com/dynamic_height.html
http://jscrollpane.kelvinluck.com/dynamic_width.html

$(function() 
{ 
$('.scroll-pane').each(
    function() 
    { 
     $(this).jScrollPane(
      { 
       showArrows: $(this).is('.arrow') 
      } 
     ); 
     var api = $(this).data('jsp'); 
     var throttleTimeout; 
     $(window).bind(
      'resize', 
      function() 
      { 
       if ($.browser.msie) { 
        // IE fires multiple resize events while you are dragging the browser window which 
        // causes it to crash if you try to update the scrollpane on every one. So we need 
        // to throttle it to fire a maximum of once every 50 milliseconds... 
        if (!throttleTimeout) { 
         throttleTimeout = setTimeout(
          function() 
          { 
           api.reinitialise(); 
           throttleTimeout = null; 
          }, 
          50 
         ); 
        } 
       } else { 
        api.reinitialise(); 
       } 
      } 
     ); 
    } 
) 

}); 
7

Je préfère quelque chose comme ceci:

$(window).resize(function(){ 
    $.each($('.scrollcont'), function(){ 
      var api = $(this).data('jsp'); 
      api.reinitialise(); 
    }); 
}); 

Où .scrollcont 'est le conteneur de défilement.

Ce script est également utile si vous devez redimensionner la taille du conteneur de défilement au cours de l'action.