Ir para conteúdo

POWERED BY:

Arquivado

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

Angelo Rocha

Pegando a largura dinamicamente

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode adicionar seu código dentro do bloco:

$( window ).resize(function() {
  //Código que será executado sempre que a janela for redimensionada.
  //Para pegar a largura da janela -> $( window ).width();
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

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.