1
我正在使用一個動畫側邊欄與窗口滾動一起滾動,並在到達頁腳時停止。jQuery動畫側邊欄問題
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',然後用'top'切換出'marginTop',它會起作用嗎?看看我做的這個例子:http://jsfiddle.net/KWn8e/ – JAM 2013-05-11 19:12:21
我試過,但我沒有得到希望的結果。在我結束之前,側欄仍然向下移動。 – Gabrielcik 2013-05-14 11:13:12