直播网站 - http://www.arif-khan.net/other/toggle.html
左侧的红色条是切换div的开关。我的问题是当你第一次点击它时它不起作用,后续点击它按预期运行。我很确定这是因为它第一次隐藏div然后显示div。我需要解决这个问题,所以首先点击它会显示相应的div而不是隐藏它。
代码 -
<script>
var speed = 300;
$('#close-bar').on('click', function(){
var $$ = $(this);
if( $$.is('.hide-bar') ){
$('#toggleBox').animate({left:-212}, speed);
$$.removeClass('hide-bar')
} else {
$('#toggleBox').animate({left:0}, speed);
$$.addClass('hide-bar')
}
});
</script>
答案 0 :(得分:4)
var speed = 300;
$('#close-bar').on('click', function () {
if ($(this).hasClass('hide-bar')) {
$('#toggleBox').animate({left:0}, speed);
$(this).removeClass('hide-bar');
} else {
$('#toggleBox').animate({left:-212}, speed);
$(this).addClass('hide-bar');
}
});
答案 1 :(得分:0)
可以尝试删除is部分并替换为hasClass(http://api.jquery.com/hasclass/)
if($$.hasClass('hide-bar')){
}else{
}