クリック時に div 間を移動しようとしています (アニメーションを使用して横からスライドします)。多少は動作するようになりましたが、メイン メニューに戻ったときに「最初からやり直す」必要がありますが、現在はそうではありません。
現在、メニュー アイコン (何らかの理由で 2 回クリックする必要があります) をクリックして、サイド メニューを開くことができます。次に、「その他の記事 >」をクリックすると、次のメニューが表示されます。上部の << 矢印をクリックするとメイン メニューに戻りますが、もう一度 [その他の記事 >] をクリックしても開きません。また、メニューをまとめて閉じて再度開こうとしても、うまくいきません...
これを行うためのよりクリーンな方法に関する提案は大歓迎です。これまでのところ、これは私が使用しているコードです:
HTML
<div class="triggerBox"><a href="#" id="trigger">≡</a>
</div>
<div class="menu">
<h2>Programs</h2>
<ul>
<li><a href="#">Page</a>
</li>
<li><a href="#">Page</a>
</li>
<li><a href="#">Page</a>
</li>
</ul>
<h2>Pages</h2>
<ul>
<li><a href="#">Page</a>
</li>
<li><a href="#">Page</a>
</li>
<li><a href="#">Page</a>
</li>
<li><a id="interior-trigger" href="#">Page with Children > </a>
</li>
</ul>
<h2>College</h2>
<ul>
<li><a href="#">Full Site</a>
</li>
<li><a href="#">Apply</a>
</li>
</ul>
</div>
<div class="interior-menu">
<h2><a id="back" href="#"><<</a>Articles</h2>
<ul>
<li>Article</li>
<li>Article</li>
<li>Article</li>
<li>Article</li>
<li>Article</li>
<li>Article</li>
</ul>
</div>
CSS
body {
font-family:"Open Sans Condensed", sans-serif;
font-size:12px;
}
.menu, .interior-menu {
position:fixed;
top:0px;
right:-360px;
}
.interior-menu {
display:none;
.menu ul, .interior-menu ul {
display:block;
list-style-type:none;
width:300px;
height:100%;
padding:0px;
margin:0px;
}
そして私のスクリプト
// slide open and close the main menu
$("#trigger").click(function () {
$(".menu").animate({
"right": "0px",
"width": 'toggle'
},
100);
});
//hide the interior menu
$("#interior-menu").hide();
//after clicking on a page with children, slide out the main panel
$("#interior-trigger").click(function () {
$(".menu").animate({
"right": "0px",
"width": "0px"
},
30);
//slide out the parent page's child menu
$(".interior-menu").animate({
"right": "0px",
"width": 'toggle'
},
30);
});
フィドルを参照してください: http://jsfiddle.net/j4N38/
前もって感謝します。