以下是website的視圖。需要幫助修改網頁上的基於JavaScript的手風琴盒
首先,我對JavaScript很陌生,所以這就是爲什麼我要推遲到這裏的社區。
我在網站的第一頁中央欄中有一個簡單的手風琴盒。它工作得很好,但我希望手風琴的「2014年演出」部分在頁面加載時打開。否則,首先,標題看起來是空的,直到被點擊。那行不通!注:我打算在手風琴的每個頭部旁邊增加一些向上/向下的箭頭,讓它更加明顯,實際上它是一部手風琴。
下面是HTML:
<div class="accordionButton">
<h1>2014 Shows</h1>
</div>
<div class="accordionContent">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
<div class="accordionButton">
<h1>2013 Shows</h1>
</div>
<div class="accordionContent">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
相應的CSS:
.accordionButton {
width: 320px;
float: left;
cursor: pointer;
}
.accordionContent {
width: 320px;
float: left;
display: none;
}
以及相應的腳本:
$(document).ready(function() {
//ACCORDION BUTTON ACTION
$('div.accordionButton').click(function() {
//MAKE THE ACCORDION CLOSE ON THE SECOND CLICK
if ($('div.accordionContent').hasClass('openDiv')) {
$('div.accordionContent').slideUp('normal');
$(this).next().removeClass('openDiv');
}
else {
$('div.accordionContent').slideUp('normal');
$(this).next().slideDown('normal');
$(this).next().addClass('openDiv');
}
});
//HIDE THE DIVS ON PAGE LOAD
$("div.accordionContent").hide();
});
這是有道理的,但它不起作用。我需要指定哪一個是第一個孩子,在它工作之前?這可能是一個愚蠢的問題......就像我說的,Java對我來說是新的。 – mateikav
@mateikav我改正它使用'.slice'來代替。它不起作用,因爲div不是第一個孩子,它有它之前的標題。 – lxe
您應該重構此代碼以顯式調用'div',因爲這是Sizzle DOM對象分析器中不必要的調用。 (例如'$('。accordionContent')' – acconrad