-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を追加すると、要素を簡単に切り替えることができます。ドキュメントレディは1回だけ実行されます。

$(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 に答える