Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在滚动屏幕50%以上时,是否可以使用jquery更改部分颜色?_Javascript_Jquery - Fatal编程技术网

Javascript 在滚动屏幕50%以上时,是否可以使用jquery更改部分颜色?

Javascript 在滚动屏幕50%以上时,是否可以使用jquery更改部分颜色?,javascript,jquery,Javascript,Jquery,我有一页有12个部分。在滚动到50%之前,我希望每个部分都有一个阴影。滚动后,阴影将消失。我如何使用jquery来实现这一点 您可以使用HTML元素的本机方法getBoundingClientRect此方法返回元素的矩形维度。所以您可以得到窗口对象的高度,将其除以2,然后和矩形的顶部值进行比较。如果顶部值小于或等于窗口高度的一半,则需要从该元素中移除阴影。在滚动事件中需要执行的上述所有操作 简单的例子: var shadowEdgePoint = $(window).height() / 2;

我有一页有12个部分。在滚动到50%之前,我希望每个部分都有一个阴影。滚动后,阴影将消失。我如何使用jquery来实现这一点

您可以使用HTML元素的本机方法
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。