Naprawianie menu w jednym kierunku w jquery
Po lewej stronie witryny mam „stały” pasek menu, za którym chcę przewijać pasek przewijania w dół strony. Dotychczas wypróbowałem dwa podejścia, jedno css i jedno jquery:
1) Moją pierwszą próbą było użycie ustalania stylu css:
#leftframe {
position:fixed;
width: 200;
}
Zwykle działa to doskonale przy przewijaniu w pionie. Problem z tym rozwiązaniem polega na tym, że gdy okno nie jest zbyt szerokie, a użytkownik próbuje się przewijać, przechodzi nad treścią strony.
2) Po kilku badaniach odkryłem, że istnieje podejście jquery, które pozwala naprawić element w jednym kierunku, jak opisano tutaj w przepełnieniu stosu:CSS: ustalona pozycja na osi X, ale nie y?
Korzystając z przedstawionego tam podejścia, napisałem tę miłą, małą funkcję, aby to dla mnie zrobić:
function float_vertical_scroll(id) {
$(window).scroll(function(){
$(id).css({
'top': $(this).scrollTop() //Use it later
});
});
}
Tylko teraz problem polega na tym, że wypróbowałem to w Chrome i Safari i oba pokazują zauważalne migotanie paska menu podczas przewijania w pionie. Menu porusza się w bardzo „niepewny” sposób, gdzie rozwiązanie css płynnie przesuwa je w dół strony.
Czy ktoś wie, dlaczego rozwiązanie jquery jest tak niepewne i czy można coś z tym zrobić? Czy jest jakieś trzecie rozwiązanie, które da mi „najlepsze z obu światów”?
Dziękuję wszystkim.