-4

这段代码有什么问题我错过了什么吗?:( 我认为问题出在 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%');
        });
    }
});
4

1 回答 1

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%');
            }
        });
    }
});
于 2013-01-31T18:14:57.260 回答