http://jsfiddle.net/xmocartx/ktTKe/
$( document ).ready(function() {
var open = $('.open'),
a = $('.location_cont').find('a.open');
console.log(a.hasClass('active'));
open.click(function(e){
e.preventDefault();
var $this = $(this),
speed = 300;
if($this.hasClass('active') === true) {
$this.removeClass('active').next('.item_in').slideUp(speed);
} else if(a.hasClass('active') === false) {
$(".item_in ul").css("resize", true);
$this.addClass('active').next('.item_in').slideDown(speed);
} else {
a.removeClass('active').next('.item_in').slideUp(speed);
$this.addClass('active').next('.item_in').delay(speed).slideDown(speed);
}
});
});
$( document ).ready(function() {
$(".item_in ul").customScrollbar({
skin: "default-skin",
hScroll: false,
});
$(document).on("click",function(){
$(".item_in ul").customScrollbar("resize", true);
});
});
答案 0 :(得分:0)
问题在于,您的if / else语句不会使用$(this)
而是使用对a
的模糊引用。
您的第一个if语句是正确的:if ($this.hasClass('active') === true)
但接下来的其他/ if不正确:else if(a.hasClass('active') === false)
应该阅读else if($this.hasClass('active') === false)