我有一个“跟随滚动”功能,但我希望它在返回某个点时关闭。我的代码如下:
scrollSidebar: function(scroll) {
var elemPos = $('#bestvideos-2').offset().top,
scroll2 = scroll;
if(scroll2 >= elemPos) {
$('#bestvideos-2').animate({
'margin-top':(scroll - 315)+'px'
},0);
} else {
$('#bestvideos-2').css('margin-top','0');
}
}
$(window).scroll(function() {
var scrollHeight = $(window).scrollTop();
Scroll.scrollSidebar(scrollHeight);
})
问题是 - 每次我起床,它都会上升,而不是跟随滚动。我在想的是在某处存储变量elemPos
并保持静态(现在每次滚动时它都会改变)。
我该怎么办?
答案 0 :(得分:1)
将值传递给scrollSidebar函数 - 确保在dom ready上执行var elemPos = $('#bestvideos-2').offset().top
scrollSidebar: function (elemPos, scroll) {
var scroll2 = scroll;
if (scroll2 >= elemPos) {
$('#bestvideos-2').animate({
'margin-top': (scroll - 315) + 'px'
}, 0);
} else {
$('#bestvideos-2').css('margin-top', '0');
}
}
var elemPos = $('#bestvideos-2').offset().top
$(window).scroll(function () {
var scrollHeight = $(window).scrollTop();
Scroll.scrollSidebar(elemPos, scrollHeight);
})