2009-09-18 10 views
8

Al momento ho un tavolo che ha una larghezza di 94%, e la successiva commutazione impostato ad esso:jQuery cambia la larghezza dell'elemento? Io non voglio che

$(document).ready(function(){ 

     $("#moreinfo").hide(); 

     $("#toggleinfo").click(function() { 
      $("#moreinfo").toggle('normal'); 
     }); 

    }); 

Si alterna bene, ma non appena si alterna, la larghezza va molto piccolo e non ho idea del perché. Se rimuovo lo hide() è la larghezza giusta, ma ancora una volta non appena comincio a spostarlo, la larghezza si ridimensiona automaticamente.

appena provato il seguente CSS troppo:

#moreinfo { width: 94% !IMPORTANT; } 

Edit: sembra di rimuovere completamente qualsiasi larghezza applicata attraverso i CSS quando ho attivarlo

Edit2: Avvolgendolo all'interno di un altro div opere! Non ideale, ma non una cattiva soluzione, immagino.

Un modo per fermarlo, per favore?

risposta

3

La funzione jQuery toggle() imposta l'elemento di destinazione ('#moreinfo' in questo caso) su display: block. È solo un'ipotesi senza vedere il tuo CSS o HTML, ma sto scegliendo che la tabella, quando ha cambiato la sua proprietà di visualizzazione, sia posizionata o disposta in modo errato.

Potrebbe essere possibile aggirare il problema avvolgendo l'elemento moreinfo in un altro div con display: inline o position: relative? Ma questa è solo una supposizione. I diversi browser mostrano lo stesso risultato?

Problemi correlati