タイトル バーとその下のパネルを含むコンテナーがあり、タイトル バーがクリックされるまで非表示になっています。その後、パネルをスライドして、タイトル バーを数ピクセル上に上げます。これはうまくいきます。開いた後にできるようにする必要があるのは、タイトル バーをクリックして開始位置に戻すことですが、パネルを閉じて再び非表示にします。開いた後にタイトル バーをクリックすると、パネルが閉じて消えますが、タイトル バーは上げられた位置のままです (下げる必要がないため)。私はいくつかの異なるオプションを試しました。
html
<div id="specialsEventsContainer" style="float:left">
<div id="specialsEventsTitle" style="top: 90px">
<p>Specials & Events</p></div>
<div class="promobox">
<div id="revealDown" style="height: 0; display:block;">
<div id="specialscalendarPortals">
<div class="halfsizeBoxes" style="float:left">
<a href=""><p>text text text</p></a>
</div>
<div class="halfsizeBoxes">
<a href=""><p>Tulalip Resort-Casino Calendar Portal</p></a>
</div>
</div>
<div class="fullsizeBoxes">
<a href=""><img src="~/Content/Images/promoimage.jpg" /></a>
</div>
<div class="fullsizeBoxes">
<a href=""><img src="~/Content/Images/promoimage.jpg" /></a>
</div>
<div class="fullsizeBoxes" style="margin-bottom:5px;">
<a href=""><img src="~/Content/Images/promoimage.jpg" /></a>
</div>
</div>
</div>
jquery
<script type="text/javascript">
$(document).ready(function () {
var $spTitle = $('#specialsEventsTitle');
var $promobox = $('#revealDown');
$($spTitle).click(function () {
$spTitle.animate({ top: '8px' });
if ($promobox.height() > 0) {
$promobox.animate({ height: 0 });
} else {
$promobox.animate('slow').animate({ height: '100%' });
}
});
});
</script>