如何在ajax请求后使用Ace_Scroll

时间:2015-08-06 13:45:48

标签: jquery ajax scroll

我正在使用Ace Admin Template。

我将一些内容附加到ID为#Mydiv的div,并为同一个div(#Mydiv)使用ace-scroll。当我将内容附加到div时,ace-scroll不起作用,并且没有检测到新的高度:

var out = '';
var dv = $('#Mydiv');
$.ajax({
   url:  url,
   type: 'POST',
   data:{pg:pg},
   error: function() {
     return;
   },
   dataType: 'html',

   success: function(data) {
     if(data.trim() !=='ERROR'){
       out = data.trim();   
       dv.append(out);
     }
   },

   complete:function(v){
     /////////NOT WORK//////////////////
     dv.ace_scroll({inline_style:true,size: 200,observeContent:true, mouseWheelLock: true});
   }  

}); 

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,事实证明在外部div上应用滚动导致了问题。在您的情况下,在“MyDiv”上应用滚动条。是问题。你应该在ajax调用返回的html中使用div,而不是在' MyDiv'上应用滚动,并在该div上应用滚动。



var out = '';
var dv = $('#Mydiv');
$.ajax({
   url:  url,
   type: 'POST',
   data:{pg:pg},
   error: function() {
     return;
   },
   dataType: 'html',

   success: function(data) {
     if(data.trim() !=='ERROR'){
       //Here the html in data.trim() should have an enclosing div like <div id = 'MyScrollDiv'> ...content... </div>
       out = data.trim();  
       
       dv.append(out);
     }
   },

   complete:function(v){
     /////////NOT WORK//////////////////
     
     //Don't apply scroll on dv
     //dv.ace_scroll({inline_style:true,size: 200,observeContent:true, mouseWheelLock: true});
     
     //Apply scroll on the inner div
     $('#MyScrollDiv').ace_scroll({inline_style:true,size: 200,observeContent:true, mouseWheelLock: true});
   }  

}); 
&#13;
&#13;
&#13;