为情所困2017-05-19 10:09:53
原生js的话可以构造一个显隐函数,然后遍历给每个btn。显隐函数可以通过css3的transition改变ul的高度,或者改变display、opacity,具体得根据实际情况来定。简单一点可以用jQuery中的fade,slide。
大家讲道理2017-05-19 10:09:53
这是个XY问题
目的不是为了得到元素索引,而是给同类元素绑定类似的事件处理
为所有要绑定事件的按钮添加一个特殊的类
<button id="btn1" class="btn-toggle-menu">1</button>
<ul>...</ul>
<button id="btn2" class="btn-toggle-menu">2</button>
<ul>...</ul>
<button id="btn3" class="btn-toggle-menu">3</button>
<ul>...</ul>
<button id="btn4" class="btn-toggle-menu">4</button>
<ul>...</ul>
通过类选中这些元素绑定处理就好了
$('button.btn-tobble-menu').each(function(){
$(this).next().hide() // 隐藏按钮后面紧跟的元素
})
$('button.btn-toggle-menu').click(function(){
$(this).next().show() // 显示按钮后面紧跟的元素
})
滿天的星座2017-05-19 10:09:53
给每个button 加上一样的class=“btn bt1” class=“btn bt2” class=“btn bt3”
$('.btn').click(function(){
$(".btunder").hide();
$(this).next(".btunder").show() ;
})