2010-09-24 6 views
0

HI, J'ai un problème avec jQuery, jScrollPane et le chargement de données avec AJAX. Quand j'ai des données statiques, le pavé de défilement fonctionne bien, mais dès que je charge des données avec AJAX dans le div, le panneau de défilement disparaît.Problème avec le contenu chargé ajax dans jScrollPane dans jQuery

Je sais que je dois réinitialiser le scrollpane après cela, donc je le fais .. mais probablement faux car il ne fonctionne pas. Par conséquent, l'exemple suivant fonctionne correctement lorsqu'il est chargé, mais lorsque je clique sur le bouton d'accueil, la barre de défilement disparaît. Aucune suggestion?

Code:

<html> 
<head> 
<title>Title of my page</title> 
<link rel="stylesheet" type="text/css" href="style.css"> 
<link type="text/css" href="jquery/jquery.jscrollpane.css" rel="stylesheet" media="all" /> 
<script src="jquery/jquery-1.4.2.min.js"></script> 

<!-- the jScrollPane script --> 
<script type="text/javascript" src="jquery/jquery.jscrollpane.min.js"></script></head> 
<body style="background-color: black;"> 
<div style="background-image: url(test.jpg);background-repeat: no-repeat; width: 1024px; height: 768px; margin-left: auto; margin-right: auto;"> 
    <div id="menu"> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 

         reinitialiseScrollPane = function() 
      { 
       $('#contents').jScrollPane(); 

      } 

      $("#home").click(function(){ $("#contents").load("lorem.php", '', reinitialiseScrollPane); }); 


         $("#contents").jScrollPane(); 

     }); 
     </script> 
     <a id="home"><span>Home</span></a> 

    </div> 
    <div id="website"> 
     <div id="contents" name="contents"> 

     </div> 

    </div> 
</div> 
</body> 
+0

Aussi les alternatives sont les bienvenues! –

Répondre

0

Vous devez recharger le dans la ajax, encore une fois la fonction de panneau de défilement lorsque vous l'appelez, je pense ...

+5

ne savait pas AJAX était un homme? –

0

Cela m'a pris énormément de temps à résoudre, morceaux différents bits comme la plupart des exemples utilisent append. Une réponse tardive je sais mais j'espère aider quelqu'un

function loadNews(eid){ 
     var pane = $('#storyColumnNewsStory').jScrollPane({scrollbarWidth:12, scrollbarMargin:8, autoReinitialise: true}); 
     var contentPane = pane.data('jsp').getContentPane(); 
     var jspapi = pane.data('jsp'); 

     contentPane.load('_news.php', {'eid':eid}, 
      function(){ jspapi.reinitialise(); } 
     ); 
    } 


    $(document).ready(function() { 
      loadNews(0); 
    }); 
Questions connexes