1

画面の左側に自動的に非表示になり、ミラー列を含む div があります。div のコンテンツの幅は不明です。.width(500) を使用して幅をハードコーディングすると問題なく動作しますが、マウスオーバー時に内容に合わせて自動調整し、マウスリーブ時に元に戻そうとしています。

これは私が現在持っているコードです。問題は、マウスオーバーしても何も起こらないことです。アイデアは、幅のcss属性を削除して、デフォルト値に戻すことでした

$(".leftnavdiv").live({                                          //code for autohide
    mouseenter:
    function () {
        $(this).css('width','');
        //$("body").css('padding-left','510px');
    },
    mouseleave:
    function () {
        $(this).css('width','10px');
        //$("body").css('padding-left','20px');
    }
}
);
4

2 に答える 2

1

コンテナを左にフロートさせてから、width: auto;マウスオーバーを設定します。

$(".leftnavdiv").bind("mouseenter", function() {
    $(this).css('width', 'auto');
});

$(".leftnavdiv").bind("mouseleave", function() {
    $(this).css('width','10px');
});​

実例:ここにjsFiddle

于 2012-12-10T09:23:11.473 に答える
0

幅を0に設定してみてください。空白に設定すると、ランダムな値を取ります。このフィドルをチェックして、0と空白を試してください。コンソールログで違いを確認できます。フィドル:http ://jsfiddle.net/UyAPj/

$(this).css('width','0px'); 
于 2012-12-10T09:20:27.257 に答える