php如何去掉滚动条,如何使用jQuery消除网页的滚动条

这次给大家带来如何使用jQuery 消除网页的滚动条,使用jQuery 消除网页的滚动条的注意事项有哪些,下面就是实战案例,一起来看一下。

网页有些时候需要能滚动的效果,但是不想要滚动条,我就遇到了这样的需求。自己用jq写了一个垂直滚动条。

纯css也可以实现.box::-webkit-scrollbar{display:none}

但是edge和Firefox不兼容,自己想了一下只要监听滚轮事件,用jq写应该很简单,所以就自己写了一下。

原理:需要两个div,第一个就命名为box-wrap吧,它是一个外层的包裹,由于是垂直滚动,所以要固定高度,然后设置overflow:hidden,这样竖直方向超过高度的部分就会被隐藏

第二个div就是内容需要滚动的div,命名为box,采用绝对定位,在监听到鼠标滚轮事件后根据滚轮方向相对移动

css代码#box-wrap{

position: relative;

width: 100% ;

height: 500px ;

overflow: hidden;

}

#box{

position: absolute;

width: 100% ;

height: 1500px ;

background: linear-gradient(blue,white) ;

}

为了能演示效果,里面的盒子我写成了定高,并且让背景渐变,正常来讲可以高度auto让文字撑开就行了,样式的关键在于让父类relative之后再让子类absolute,这样子类就可以相对父类移动

js代码function initScroll(){

//js模拟垂直滚轮滑动

var scrollEle = $('#box') ;

var scrollWrap = $('#box-wrap') ;

var scrollSpd = 20 ;//滚轮滚动的速度

var Max_dist = scrollEle.height()-scrollWrap.height() ;//两个组件底边之间的最大距离

if(Max_dist<=0){

return ;

}

scrollEle.css('bottom',-Max_dist) ;

scrollEle.bind('mousewheel',function(event){

var step = scrollSpd ;

event.preventDefault() ;

event = event.originalEvent ;

//兼容firefox

event.delta = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;

var tempPos = parseInt(scrollEle.css('bottom')) ;

console.log(tempPos) ;

if(event.delta>0){

if(tempPos>(-Max_dist)){

tempPos-step>(-Max_dist)? tempPos = tempPos-step : tempPos = -Max_dist ;

}

}else{

if(tempPos<0){

tempPos+step<0? tempPos = tempPos+step : tempPos = 0 ;

}

}

//console.log(tempPos) ;

scrollEle.css('bottom',tempPos) ;

});

}

initScroll() ;

主要就是监听滚轮事件,从而判断滚轮的方向event.delta = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;

这句是为了兼容火狐,其他浏览器都是属性名称为wheelDelta,值表示为120向上,-120向下,火狐是属性名称为detail,值表示为3向下,-3向上

每次触发滚轮事件都会获取子类的位置,然后根据滚轮的方向调整当前位置,注意判断一下边界就好了

demo代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值