JavaScript“if”和“else”错误

时间:2013-01-31 18:06:16

标签: jquery

这段代码有什么问题我错过了什么? :(我认为问题出在if和else ..

$(function () {
    if ($("a#toggle_sidebar").length > 0) {
        $('#toggle_sidebar').click(function () {
            $('#dw_right').show();
            $('#content-container div#container').css('width', '83%');
        });
    } else {
        $('#toggle_sidebar').click(function () {
            $('#dw_right').hide();
            $('#content-container div#container').css('width', '100%');
        });
    }
});

1 个答案:

答案 0 :(得分:2)

问题是显示或隐藏的点击事件只会处理一次,但不会被撤消。如果在单击处理程序中添加if / else,则可以轻松切换元素。准备好的文件只会运行一次。

$(function () {
    if ($("a#toggle_sidebar").length > 0) {
        $('#toggle_sidebar').click(function () {
            if(!$(this).is(':visible'))
            {
                $('#dw_right').show();
                $('#content-container div#container').css('width', '83%');
            }
            else
            {  
                $('#dw_right').hide();
                $('#content-container div#container').css('width', '100%');
            }
        });
    }
});