我正在使用导航栏。
我想检查一个slideUp()
是否适用ul
而不是if
语句,如果已应用,那么我想在classToggle()
上应用<span>
在父li
HTML:
<li class="main"><span class="arrow-up"></span>
<ul class="sub">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
<li class="main"><span class="arrow-up"></span>
<ul class="sub">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
我使用以下代码在单击另一个时关闭活动子菜单并切换'arrow-up arrow-down'
类但我想仅在子菜单滑动时才切换这些类,因此我想插入{{1}在.slideUp()
语句中的事件,怎么做?
if
答案 0 :(得分:0)
您可以在元素上使用.slideToggle()
时为该元素添加一个类,并使用该类来检测元素是否被切换。
您也可以使用if ( $('.element').is(':visible') ) { //Do something
答案 1 :(得分:0)
如果正确解释问题?尝试使用complete
,.slideToggle()
的{{1}}回调来选择最接近的.prev()
元素
span
&#13;
$(".main").click(function() {
var complete = function complete() {
$(this).prev("span").toggleClass("arrow-up arrow-down");
};
$("ul", this).slideToggle("fast", complete)
.promise()
.then(function() {
var elems = $("ul", ".main").not(this);
if (elems.is(":visible") && $(this).is(":visible")) {
elems.slideToggle("fast", complete);
}
});
});
&#13;
.arrow-down {
color: blue;
}
.arrow-up {
color: red;
}
&#13;