Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou trabalhando com um menu accordion e tendo alguns problemas para setar a sua largura, foi quando tive a brilhante ideia de passar a largura do parent dele no atributo de largura do accordion, funciona até alguém redimensionar a tela, ai o negocio não fica tão bom. Tem alguma maneira de pegar essa largura, do objeto parent em tempo real, para que mesmo que alguem mude a orientação da tela, a largura seja alterada tambem? Meu código esta assim:
var $acordionWidth = $('div.accordion-menu').parent().width(); //Pego a largura do container do acordion
$('.accordion-menu').liteAccordion({
containerWidth: $acordionWidth,//Seto aqui a largura do accordion
containerHeight: 330,
...
Desde já obrigado.
Não funcionou, porque dessa forma ele so ativa o acordion quando a janela é redimensionada, eu arrumei uma solução meia boca, no caso, eu estava dando um refresh na página quando a janela era redimensionada:
jQuery(window).bind('resize', function (e) {
if (window.RT) clearTimeout(window.RT);
window.RT = setTimeout(function () {
this.location.reload(false);
}, 100);
});
Porem quando abri no IE8, a página entra em um loop infinito, pois como o site é responsivo e uso o html5shiv e o respond, antes de carregar no IE8 a página parece que se redimensiona, infelizmente o browser deve interpretar isso como um resize e entra em um loop infinito, em todos os outros funcionou bem, alguma ideia de como sanar isso ou uma ideia melhor?
Troquei o resize pelo orientationchange e funcionou como eu queria.
Você pode adicionar seu código dentro do bloco: