2009-09-18 14 views
8

にそれをしたくない私は現在94%の幅を持つテーブル、およびそれに設定し、次のトグルがありますjQueryは要素の幅を変更しますか?私は

$(document).ready(function(){ 

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

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

    }); 

それは罰金切り替わりますが、とすぐに切り替えるように、幅本当に小さくなってしまい、理由が分かりません。 hide()を削除すると正しい幅になりますが、もう一度切り替えを開始するとすぐに幅が自動的にサイズ変更されます。

は、あまりにも、次のCSSを試してみました:

#moreinfo { width: 94% !IMPORTANT; } 

編集:は別のdiv作品内でそれをラップ:完全に私が

EDIT2それを切り替えたときにCSSを介して適用任意の幅を削除しているようです!理想的ではありませんが、私が推測する悪い解決策ではありません。

これを中止する方法はありますか?

答えて

3

jQuery toggle()関数は、ターゲット要素(この場合は'#moreinfo')をdisplay: blockに設定します。あなたのCSSやHTMLを見ることなく、それはちょうど推測ですが、私は、その表示プロパティが変更されたときにテーブルが配置されているか、または間違って配置されていると判断しています。

moreinfo要素をdisplay: inlineまたはposition: relativeという別のdivにラップすると、この問題を回避できますか?しかし、それはちょうど推測です。異なるブラウザでも同じ結果が表示されますか?

関連する問題