2

サイドバーがスクロールされたときに、サイドバーの下部に到達したときにメインコンテンツ領域がスクロールしないレイアウトを構築しようとしています。

これを達成するために私が考えることができる唯一の方法は、サイドバーにカーソルを合わせたときにボディ/htmlにクラスを追加することです。これにより、ボディのオーバーフローが非表示に設定され、フライアウェイスクロールが停止します。

$(document).ready(function () {
            $(".sidebar").hover(function () {
                $('body,html').addClass("special-overflow");
            }, function () {
                $('body,html').removeClass("special-overflow");
            });
        });

これは、基本的なレイアウトの jsfiddle です。http://jsfiddle.net/V7vaK/

これに関する問題は、サイドバーにカーソルを合わせるとサイドバーが消え、ページがぐちゃぐちゃになることです。私はこれをしばらくグーグルで調べてきましたが、見ることも、より良い解決策を思いつくこともできません。

誰かがこれよりもエレガントなものを提案できますか?

4

1 に答える 1

0

私がよく理解していれば、あなたがやろうとしていることの別のアプローチかもしれません:

http://cdpn.io/uzrpF

それが役立つことを願っています!

ミゲル。

于 2013-04-10T08:55:58.097 に答える