我的页面上有一个div,我想在观看者向下滚动时改变背景颜色。
我该怎么做?
答案 0 :(得分:1)
上述评论者是对的。你应该先尝试一下,当你遇到困难时,社区会帮你解开。也就是说,这是一个快速解决问题的方法。
$(document).ready(function(){
var offsetTop = $('#test').offset().top, //offset from top of element - element has id of 'test'
finalOffset = offsetTop - document.documentElement.clientHeight; //screen size
$(window).on('scroll',function(){
var whereAmI = $(document).scrollTop();
if(whereAmI >= offsetTop){
console.log("i've arrived at the destination");
}
})
})
请注意,上述代码会在您的要求之后的每个点执行console.log()
(意味着从那里向下)。如果您希望执行只发生一次,您需要稍微调整代码。还有一点需要注意 - 如果您要在小提琴中进行检查,则需要调整document.documentElement.clientHeight
以适应iframe。所以在本地机器上进行测试。
答案 1 :(得分:1)
我会使用CSS3这样的东西......
var elemTop = $('div').offset().top;
$(window).scroll(function() {
if($(this).scrollTop() == elemTop) {
$('div').removeClass('hidden');
}
});