hy all,我正在創建一個手風琴菜單,當我按下「UNIT」選項卡時,會打開一個「章節」選項卡列表,當我按下任何一個章節時,課程列表打開。到目前爲止,我已經設法創建了所有適當的列表,但默認情況下,課程和章節會自動打開,而按下的課程元素不會回溯到章節父母。我的HTML5文件:如何操作ul括號
<script type="text/javascript" src="jqueryjs.js"></script>
<script type="text/javascript" src="jqueryuiaccor.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#accordion').accordion();
});
</script>
<div id="container">
<div id="content">
<div id="sidebar">
<ul id="accordion">
<li>
<a href="#recent" class="heading">Unit 1</a>
<ul id="accordion">
<li> <a href="#recent" class="heading">Chapter 1 </a> </li>
<ul id="accordion2">
<li> Lesson 1 </li>
</ul>
</ul>
</li>
<li>
<a href="#recent" class="heading">Unit 2</a>
<ul id="accordion">
<li> <a href="#recent" class="heading">Chapter 1 </a> </li>
<ul id="accordion">
<li> <a href="#recent" class="heading" role="tab" aria-expanded="true">Chapter 2 </a>
<ul id="accordion">
<li> <a href="#recent" class="heading">Lesson 1 </a></li>
</ul>
</li>
</ul>
</ul>
</li>
</ul>
</div>
</div>
</div>
我acorjs.js文件:
$(document).ready(function() {
$('ul#accordion a.heading').click(function() {
$(this).css('outline','none');
if($(this).parent().hasClass('current')) {
$(this).siblings('ul').slideUp('slow',function() {
$(this).parent().removeClass('current');
$.scrollTo('#accordion',1000);
});
} else {
$('ul#accordion li.current ul').slideUp('slow',function() {
$(this).parent().removeClass('current');
});
$(this).siblings('ul').slideToggle('slow',function() {
$(this).parent().toggleClass('current');
});
$.scrollTo('#accordion',1000);
}
return false;
});
});
任何想法?
我的新編輯的文件:
<div id="container">
<div id="content">
<div id="sidebar">
<ul class="accordion">
<li>
<a href="#recent" class="heading">Unit 1</a>
<ul class="accordion">
<li> <a href="#recent" class="heading">Chapter 1 </a> </li>
<ul id="accordion2">
<li> Lesson 1 </li>
</ul>
</ul>
</li>
<li>
<a href="#recent" class="heading">Unit 2</a>
<ul class="accordion">
<li> <a href="#recent" class="heading">Chapter 1 </a> </li>
<ul id="accordion2">
<li> Lesson 1 </li>
</ul>
</ul>
</li>
</ul>
</div>
</div>
</div>
我的JS文件:
$(document).ready(function() {
$('ul.accordion a.heading').click(function() {
$(this).css('outline','none');
if($(this).parent().hasClass('current')) {
$(this).siblings('ul').slideUp('slow',function() {
$(this).parent().removeClass('current');
$.scrollTo('#accordion',1000);
});
} else {
$('ul.accordion li.current ul').slideUp('slow',function() {
$(this).parent().removeClass('current');
});
$(this).siblings('ul').slideToggle('slow',function() {
$(this).parent().toggleClass('current');
});
$.scrollTo('#accordion',1000);
}
return false;
});
});
請幫一切都停止了工作
元素ID應該是唯一的。通過ID訪問元素只會返回一個元素,如果沒有匹配,則返回null。如果有多個具有相同ID的元素,則行爲是未指定的 - 通常返回第一個元素,但不能保證這一點。 – RobG 2012-03-20 12:30:54