2012-02-23 3 views
0

Итак, после загрузки некоторого контента в div я хотел инициализировать jscrollpane, но он просто не сработает. Вот мой код. Посмотрите, можете ли вы сказать мне, что не так.JScrollpane не работает после ajax

Ajax (JQuery)

$("#mision").click(function() { 
     var id = this.id; 
     $.ajax({ 
      url: template + "/acciones.php", 
      type: "POST", 
      data: "id=" + id, 

      complete: function() { 

      }, 

      success: function(x) { 
      $("#cargaContenido").html(x); 
       $("#scrollpro").css({'height':(($(window).height())-361)+'px'}); 
     $('#scrollpro').jScrollPane({ 

     }); 

     $(window).resize(function(){ 
      $('#scrollpro').css({'height':(($(window).height())-301)+'px'}); 
      $('#scrollpro').jScrollPane({autoReinitialise: true}); 
     }); 
       $("#scrollpro").trigger('resize'); 

     }, 

      error: function() { 
      //called when there is an error 
      }, 
     }); 

    }); 

Это делает работу сейчас

ответ

2

Попробуйте это:

$("#mision").click(function() { 
    var id = this.id; 
    $.ajax({ 
     url: template + "/acciones.php", 
     type: "POST", 
     data: "id=" + id, 

     complete: function() { 
     $('#cargaContenido').jScrollPane().fadeIn(); 
     }, 

     success: function(x) { 
     $("#cargaContenido").html(x); 

    }, 

     error: function() { 
     //called when there is an error 
     }, 
    }); 

}); 
+0

все еще не работает:/ – Buff

+0

попытаться сделать FadeIn после JScrollPane создается –

+0

Awww он не работает пока:/ – Buff

0

Это может иметь что-то делать с анимацией FadeIn. Я не думаю, что jScrollPane может измерять контент во время его анимации. По крайней мере, это моя догадка.

Попробуйте вместо этого:

$("#cargaContenido").html(x).fadeIn(500, function() { 
    //Callback when the fadeIn is complete 
    $('#cargaContenido').jScrollPane(); 
}); 
+0

еще нет:/до сих пор не работает – Buff

+0

Я отредактировал мой вопрос, пока еще не повезло даже с материалами api: / – Buff