サイドバーがスクロールされたときに、サイドバーの下部に到達したときにメインコンテンツ領域がスクロールしないレイアウトを構築しようとしています。
これを達成するために私が考えることができる唯一の方法は、サイドバーにカーソルを合わせたときにボディ/htmlにクラスを追加することです。これにより、ボディのオーバーフローが非表示に設定され、フライアウェイスクロールが停止します。
$(document).ready(function () {
$(".sidebar").hover(function () {
$('body,html').addClass("special-overflow");
}, function () {
$('body,html').removeClass("special-overflow");
});
});
これは、基本的なレイアウトの jsfiddle です。http://jsfiddle.net/V7vaK/
これに関する問題は、サイドバーにカーソルを合わせるとサイドバーが消え、ページがぐちゃぐちゃになることです。私はこれをしばらくグーグルで調べてきましたが、見ることも、より良い解決策を思いつくこともできません。
誰かがこれよりもエレガントなものを提案できますか?