Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luc.Vysk

Scroll não aparece em página carregada por Ajax

Recommended Posts

Oi galera,

 

novamente estou aqui com um problema no Ajax.

No site estou fazendo o layout no sentido lateral (home/página1/página2/...), um do lado do outro de forma que os links fazem um 'slide' lateral em direção à página.

 

Na página de produtos, tenho um menu de categorias lateral, e carrego os produtos na mesma página usando ajax e com limite de altura (aprox. 500px) para não estourar a resolução e sendo assim, cria-se uma barra de rolagem. No entanto uso um jquery para deixar esta barra de rolagem 'bonitinha' e esta não aparece quando carrego a categoria em ajax.

 

Veja o código:

 

  
          $.ajax({  
             url: toLoad,  
               success: function( response ){  

                   var data = $( '<div>'+response+'</div>' ).find('.prods_cont_list').html();  


                   window.setTimeout( function(){  
                       $('.prods_cont_list').animate({width:'toggle'}, 750, function(){  
                           $('.prods_cont_list').html( data ).animate({width:'toggle'}, 750, hideLoader());

                       });  
                   } );  
               }  
           });

 

Estou usando aquele jScrollPane(), alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites
uso um jquery para deixar esta barra de rolagem 'bonitinha' e esta não aparece quando carrego a categoria em ajax.

atrele o plugin no callback da requisição ajax.

 

 

exemplo:

http://wbruno.com.br/blog/2011/08/22/usando-lightbox-em-pagina-carregada-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre comov c tentou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ajax:

 

$.ajax({  
               url: toLoad,
               success: function( response ){   
                   var data = $( '<div>'+response+'</div>' ).find('.prods_cont').html();  
                   window.setTimeout( function(){  
                       $('.prods_cont').animate({width:'toggle'}, 750, function(){  
                           $('.prods_cont').html( data ).animate({width:'toggle'}, 750, hideLoader());  
                       });  
                   } );  
               } 
           });

 

Scroll:

 

$(function ()
{
  $('.boxp_scroll, .prods_cont_list, .content_boxg_cdscroll').jScrollPane();
});

 

Eu tentei de várias formas, uma delas foi:

 

...hideLoader(), function () {
  $('.boxp_scroll, .prods_cont_list, .content_boxg_cdscroll').jScrollPane();

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

vá debugando teu script, apertando

 

Ctrl+Shift+J no Firefox

 

 

$.ajax({  
               url: toLoad,
               success: function( response ){   
                   var data = $( '<div>'+response+'</div>' ).find('.prods_cont').html();  
                   window.setTimeout( function(){  
                       $('.prods_cont').animate({width:'toggle'}, 750, function(){  
                           $('.prods_cont').html( data ).animate({width:'toggle'}, 750, hideLoader());  
                       });  
                   } );

                  $('.boxp_scroll, .prods_cont_list, .content_boxg_cdscroll').jScrollPane();//era aqui q você deveria ter colocado
               }
           });

entendeu ?

logo após o callback do .html()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu havia tentado, funcionou não cara. Mas percebi uma coisa.

 

Eu tenho um menu vertical de categorias de produtos.

".prods_cont" é a div que engloba tudo, esse menu e conteúdo. E ".prods_cont_list" é a div que engloba apenas os produtos.

Logicamente, como eu quero carregar apenas o os produtos, eu ativo o ajax na ".prods_cont_list". No entanto quando faço isso não aparece nenhuma barra de rolagem, nem a padrão do windows. Quando eu uso o ajax na ".prods_cont", ele não carrega a função da scroll mas ao menos mostra a barra de rolagem do windows.

 

E ai?! rs...

 

E fui no debug, e não mostrou nada demais. Ele ignora algumas declarações de css da scroll, mas acho que isso é o jquery da personalização da barra que faz. Já que ele mostra esse 'erro' logo quando eu carrego a página(que é quando funciona) e só.

 

respostas ?! rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.