Я использую анимированную боковую панель, которая прокручивается вместе с прокруткой окна и останавливается, когда она достигает нижнего колонтитула.jQuery animate проблемы с боковой панелью
jQuery(document).ready(function() {
var jQuerysidebar = jQuery("#sb"),
jQuerywindow = jQuery(window),
offset = jQuerysidebar.offset(),
sbh = jQuerysidebar.height(),
footer = jQuery("#footer").offset().top;
jQuerywindow.scroll(function() {
if (jQuerywindow.scrollTop() > offset.top ) {
if (jQuerywindow.scrollTop() + jQuerysidebar.height() < footer) {
jQuerysidebar.stop().animate({
marginTop: jQuerywindow.scrollTop() - 8
});
}
} else{
jQuerysidebar.stop().animate({
marginTop: 0
});
}
});
});
Поскольку высота боковой панели> что высота окна, я не могу легко получить доступ к нижней части боковой панели: когда я прокрутка вниз также идет вниз ...
Я хотел бы врезка начинает прокрутку только после того, что я достигну своего конца ... до сих пор я был в состоянии получить этот результат только частично:
if (jQuerywindow.scrollTop() > jQuerysidebar.height() ) {
Как видно, после того, что значение scrollTop является>, чем высота боковой панели , он продолжает прокручивать снова ... так что этот код работает только один раз: D
Есть ли лучший способ сделать прокрутку боковой панели только после этого, я доберусь до ее конца?
Я пробовал и другие решения, но я получил для каждой новой попытки какую-то другую проблему. (Я новичок в использовании JQuery ...)
Спасибо за вашу помощь :)
Будет ли он работать, если вы установите 'position: relative' в' # sb', а затем отключите 'marginTop' только с' top'? В этом примере я сделал: http://jsfiddle.net/KWn8e/ – JAM
Я пробовал, но я не получил ожидаемого результата. Боковая панель все еще сдвигается, прежде чем я доберусь до конца. – Gabrielcik