怎么用原生JS控制滚动条居中并隐藏滚动条

JavaScript015

怎么用原生JS控制滚动条居中并隐藏滚动条,第1张

目前本方法只在webkit内核浏览器中有效(Chrome,Safari)。可以用JS做渐变的隐藏滚动条特效,依旧可以滚动。你可以在JS里面写判定当用户鼠标不动一定时间然后消失。

我对JS不是特别了解(只能看懂和修改JS代码的程度的能力,但是无论任何JS代码都敢修改的程度),这效果能做出来的,我就不贴具体代码了。

不需要嵌套,纯原生。将来浏览器会支持这个效果的。

// 设置准备要滚动的元素

let p = document.getElementById('userDetailContent').parentNode

// 该元素目前 顶部 被卷起(隐藏)的高度

let t = p.scrollTop

// 这段匀速运动 分30步来走, step:每一步走的距离

let step = Math.floor(t / 30)

if( step > 1)  //一步最少要走1个像素,否则无限触发滚动

    (function walkTop(t) {

        setTimeout(()=>{

            // scrollTo( x轴滚动, y轴)

            p.scrollTo(0, t -= step) // 走一步, 将剩余路程 减去一步的路程的结果

            if(t<0) return // 停止迭代循环

            walkTop(t)//迭代

        },1)// 每毫秒走一步

    })(t) // 自执行函数 传入参数t ,!important