Javascript 在滚动屏幕50%以上时,是否可以使用jquery更改部分颜色?
我有一页有12个部分。在滚动到50%之前,我希望每个部分都有一个阴影。滚动后,阴影将消失。我如何使用jquery来实现这一点 您可以使用HTML元素的本机方法Javascript 在滚动屏幕50%以上时,是否可以使用jquery更改部分颜色?,javascript,jquery,Javascript,Jquery,我有一页有12个部分。在滚动到50%之前,我希望每个部分都有一个阴影。滚动后,阴影将消失。我如何使用jquery来实现这一点 您可以使用HTML元素的本机方法getBoundingClientRect此方法返回元素的矩形维度。所以您可以得到窗口对象的高度,将其除以2,然后和矩形的顶部值进行比较。如果顶部值小于或等于窗口高度的一半,则需要从该元素中移除阴影。在滚动事件中需要执行的上述所有操作 简单的例子: var shadowEdgePoint = $(window).height() / 2;
getBoundingClientRect
此方法返回元素的矩形维度。所以您可以得到窗口对象的高度,将其除以2,然后和矩形的顶部值进行比较。如果顶部值小于或等于窗口高度的一半,则需要从该元素中移除阴影。在滚动事件中需要执行的上述所有操作
简单的例子:
var shadowEdgePoint = $(window).height() / 2;
$(window).on('scroll', function(e){
$('.sections-class').each(function(){
if(this.getBoundingClientRect().top <= shadowEdgePoint){
$(this).removeClass('shadowClass') ;
}
else{
$(this).addClass('shadowClass') ;
}
})
})
var shadowEdgePoint=$(窗口).height()/2;
$(窗口).on('scroll',函数(e){
$('.sections类')。每个(函数(){
if(this.getBoundingClientRect().top window.onscroll和ScrollTop您能给我发个例子代码是什么吗?嗨MysterX,您能再帮我一次吗?我在2个DIV中有一个部分,其中DIV的名字是1st DIV和2nd DIV。默认情况下,2nd DIV将被隐藏,在滚动50%或更多后,1st DIV将被隐藏,2nd DIV将被显示。我该怎么做?嘿@Saiful.您应该以与上面相同的方式,在'scroll'
事件上分别获取这两个div,并检查它们在屏幕上的顶部和中部。$('.first').get(0).getBoundingClientRect().top;
$('.second').get(0).getBoundingClientRect().top;
然后执行staffHey Boss MysterX,我已经厌倦了修复此问题。请将如何使用$('.first').get(0).getBoundingClientRect().top;$('.second').get(0).getBoundingClientRect().top的代码示例发送给我;请帮助我Boss。