js滚动到指定位置再进行固定定位(position:fixed)

js滚动到指定位置再进行固定定位(position:fixed)
· javascript
 

 

在写js交互效果时,遇到一个问题场景,想让某部分div一开始是固定的,当滚动一定距离的时候,这部分div就开始固定定位(position:fixed),查了网上的资料后,自己已经写出了这个交互效果,但是还有一个小bug,bug如下


当滚动到最底部的时候,红色标注部分会超出底部界限范围,我程序的思路是判断滚动条距顶部的距离scrollTop的范围值,当滚动距离超过一定范围距离的时候,给后侧部分加上position:fixed让它滚动,但是这样不能解决到底部的时候离底部距离的bug,不知道这部分bug应该怎么解决,使它移到底部的时候,不会超出底部范围.

我滚动相关部分的代码如下:

  window.onscroll=function(){

        var topScroll =document.body.scrollTop;//滚动的距离,距离顶部的距离

        var bignav = document.getElementById("bignav");//获取到导航栏id

        if(topScroll <= 250){

            //当滚动距离小于250的时候执行下面的内容,也就是让导航栏恢复原状    

            bignav.style.position = 'static';

        }else{      

            //当滚动距离大于250px时执行下面的东西

            bignav.style.position = 'fixed';

            bignav.style.top = '6%';

            bignav.style.right = '6%';

            console.log(topScroll)

        }

 

    }

 

 

 



<script>

 

 window.onscroll=function(){

        var topScroll =document.body.scrollTop;//滚动的距离,距离顶部的距离

        var bignav = document.getElementById("bignav");//获取到导航栏id

        if(topScroll >= 4000){

            //当滚动距离小于250的时候执行下面的内容,也就是让导航栏恢复原状    

            bignav.style.position = 'static';

        }else{      

            //当滚动距离大于250px时执行下面的东西

            bignav.style.position = 'fixed';

            bignav.style.bottom = '0';

          

            console.log(topScroll)

        }

 

    }

 

 

</script>

猜你喜欢

转载自blog.csdn.net/qq_35606790/article/details/91979012