jQuery Div Toggle问题

时间:2014-06-20 21:00:12

标签: javascript jquery html css

直播网站 - 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>

2 个答案:

答案 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');
    }
});

DEMO

答案 1 :(得分:0)

可以尝试删除is部分并替换为hasClass(http://api.jquery.com/hasclass/

if($$.hasClass('hide-bar')){

}else{

}