Gdy wysokość okna jest mniejsza niż wysokość blokowanego elementu, przy przewijaniu do góry, element przesuwa się ponad górną krawędź okna, aby można było zobaczyć jego całą dolną zawartość i dopiero wtedy jego pozycja zostaje zablokowana. Przy przewijaniu w dół, zwłaszcza gdy cała strona z dużą zawartością została przewinięta do góry, zablokowany element zacznie się przesuwać w dół dopiero od momentu, kiedy strona się przewinie do miejsca, w którym został on zablokowany. W sumie to nie przeszkadza, ale można lepiej. Chciałbym, żeby podczas przewijania w dół, element od razu się przesunął, żeby było widać jego całą górną zawartość, następnie zablokował do momentu, kiedy dół elementu nad nim się do niego zbliży, a następnie przesunął w dół z całą stroną.
<scrypt> function slide_side_content() { var scroll_gap_left; if ($(window).height() < $("#left_content").outerHeight( true )) { scroll_gap_left = $("#left_content").outerHeight( true ) - $(window).height() } else { scroll_gap_left = 0 } if (document.body.scrollTop > 200 + scroll_gap_left || document.documentElement.scrollTop > 200 + scroll_gap_left) { document.getElementById("left_content").style.position = "fixed"; document.getElementById("left_content").style.top = "-" + scroll_gap_left + "px"; } else { document.getElementById("left_content").style.position = "static"; } var scroll_gap_right; if ($(window).height() < $("#right_content").outerHeight( true )) { scroll_gap_right = $("#right_content").outerHeight( true ) - $(window).height() } else { scroll_gap_right = 0 } if (document.body.scrollTop > 200 + scroll_gap_right || document.documentElement.scrollTop > 200 + scroll_gap_right) { document.getElementById("right_content").style.position = "fixed"; document.getElementById("right_content").style.top = "-" + scroll_gap_right + "px"; } else { document.getElementById("right_content").style.position = "static"; } } </scrypt>