我有一个DIV我想要在页面上滚动但是在折叠上面看不到它所以我正在使用它。
$(window).scroll(function() {
// Get scrolling position of document
var scrollYpos = $(document).scrollTop();
// if its more than the top of the element
if (scrollYpos > 551 ) {
// Add a margin to the top
$('#scrollingDiv').animate({'margin-top': scrollYpos - 541 }, {duration: 300, queue: false});
} else {
$('#scrollingDiv').animate({'margin-top': 0 }, {duration: 200, queue: false});
}}); // end scroll
ATM我手动给它DIV的垂直位置(551px)。我想动态地做。
var elYpos = $('#scrollingDiv').offset().top
因此,这会在页面上找到元素的垂直位置,但是当元素移动时,这会改变其他部分。
我怎样才能获得元素的位置一次?
答案 0 :(得分:6)
在函数之前定义变量,因此只需执行一次。
$(function(){
var elYpos = $('#scrollingDiv').offset().top; // elYpos variable will stay as it's defined
$(window).scroll(function(){
var scrollYpos = $(document).scrollTop();
if (scrollYpos > elYpos ) {
// and rest of tour code...
});
});