2011-11-10 8 views
0

jQueryトグルボタンの後ろにコンテンツが隠れているページを開発しています。クリックすると、コンテンツラッパーが水平方向と垂直方向に拡張されます(現在、ラッパーは垂直方向にのみ展開されます)。slide div全体のブロック

ファイルの整理方法がわかりません。現在、ラッパーはこれらのCSS属性があります:slideToggle内のコンテンツがあることになり、CSSで直接#wrapper幅を変更する

<script type="text/javascript"> 
    $(document).ready(function(){ 

$(".btn-slide").click(function(){ 
    $("#panel").slideToggle("slow"); 
    $(this).toggleClass("active"); return false; 
}); 
    }); 
</script> 

#wrapper { 
width: 900px; 
margin: 0 auto; 
margin-top: 40px; 
background-color:#FFF; 
border-radius: 42px; 
-moz-border-radius:42px; 
padding:30px; 
-webkit-box-shadow: 0 0 10px #000; 
} 

「パネル」divが経由JavaScriptを制御し切り詰められた:すなわち。幅が設定されている場合、ラッパーはスライド後に適切な水平サイズに展開されません。一方、width属性を削除すると、ページは適切にラップされなくなります。この問題をどのように修正すればよいですか?
1.あなたが必要なすべての柔軟性を与える代わりにslideToggleのjQueryの.animate()メソッドを使用します:

<div id="wrapper" > 
<div id="intro" class="content-wrapper"><a href="#" class="btn-slide"><span class="content">CONTENT</span></a> 
    <div class="wrapper-inner container"><div class="home-page container"> 
     <div id="panel"> 
+0

HTMLも表示できますか? – Kyle

+0

あなたはいくつかのフィドルを使用することができます:http://jsfiddle.net/ –

+0

応答ありがとう。カイル、関連するHTMLを追加しました。シルヴィオ、私は悲しいことに、フィドルで答えを見つけることができませんでした。アドバイスありがとう –

答えて

1

ない、私は問題を完全に理解しておくが、ここでは2つの可能な解決策があります。
2.周囲のレイアウトに問題がある場合は、ラッパーを固定サイズのdivに配置し、#ラッパーを次の位置に変更してください:absolute

+0

ありがとうkarnyj。私は現在アニメーションを使用していますが、クリックして拡大するには幅が問題になります。私のラッパーの幅は300pxですが、クリックすると900pxに拡大します。 jqueryハンドルはpanelに設定され、アニメーション化されて高さが切り替わります。ボタンのクリックでパネルが展開されたときに、ラッパーの幅を拡大するにはどうすればよいですか?ありがとうございます –

+0

ありがとうanimate();答えは –

関連する問題