Этот код взят с waypointarts.com и предполагает создание фиксации боковой панели при прокрутке до самого низа. проблема заключается в том, что когда правый div заполняется высотой левого div, даже если установлено значение 100 #, он остается фиксированным на определенной высоте, окне/экране или чем-то еще. как я могу установить его так, чтобы его высота составляла 100% или эквивалентна высоте правого div.
HTML-заголовок
<div id="wrapper">
<div id="left">
<div id="sidebar">
Sidebar Content
</div>
</div>
<div id="right">
This is the text of the main part of the page.
</div>
<div class="clear"></div>
</div>
<div id="footer">Footer</div>
CSS
#header {
background: #c2c2c2;
height: 50px
}
#wrapper {
width: 500px
}
#left {
background: #d7d7d7;
position: absolute; /* IMPORTANT! */
width: 150px;
height: 100%
}
#right {
position: relative;
width: 350px;
float: right
}
#sidebar {
background: #0096d7;
width: 150px;
color: #fff
}
.clear {
clear: both
}
#footer {
background: #c2c2c2
}
ЯВАСКРИПТ
$(document).ready(function () {
var length = $('#left').height() - $('#sidebar').height() + $('#left').offset().top;
$(window).scroll(function () {
var scroll = $(this).scrollTop();
var height = $('#sidebar').height() + 'px';
if (scroll < $('#left').offset().top) {
$('#sidebar').css({
'position': 'absolute',
'top': '0'
});
} else if (scroll > length) {
$('#sidebar').css({
'position': 'absolute',
'bottom': '0',
'top': 'auto'
});
} else {
$('#sidebar').css({
'position': 'fixed',
'top': '0',
'height': height
});
}
});
});
Изображение с сайта waypoitsarts.com: