位置: 编程技术 - 正文

javascript自定义滚动条实现代码(javascript自定义函数)

编辑:rootadmin

推荐整理分享javascript自定义滚动条实现代码(javascript自定义函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript自定义对象的方法,javascript自定义属性,javascript自定义对象,javascript自定义对象,javascript自定义对象的方法,javascript自定义函数一定要有返回值,javascript自定义对象,javascript自定义函数,内容如对您有帮助,希望把文章链接给更多的朋友!

在工作中经常会遇到内容会超出固定的一个范围,超出的内容一般会使用到滚动条来滚动显示。

但是用浏览器默认的滚动条经常被产品经理鄙视,可是用css却改变不了滚动条的样式,还好,有万能的js ^_^~~

网上有各种各样的插件,但最顺手的还是自己写的,还可以一边撸一边当学习,自己动手丰衣足食 (*^__^*)

其中这三个问题深深地困扰我:

1、滚动条高度 2、每次点击向上、向下按钮的时候滚动条应该移动多少距离 3、每拖动1px滚动条,页面需要移动多少?

整个的框架大概是长这样的:

先来看看第一个问题。

  由于目前已经知道内容区域的高度和内容可视高度以及滚动条可滚动区域的高度了,由于内容区域与滚动条每次移动的距离都是成正比的,所以第一个问题很好解决:

  滚动条可移动范围 / 滚动条高度 = 内容高度 / 内容可视高度

每次点击按钮的时候滚动条应该移动多少距离?

  这里我是给参数distance设置一个值来决定每次点按钮的时候,内容区域应该滚动多少的距离。改变这个值可以改变内容区域滚动的快慢,如果有更好的处理方法和建议记得告诉我喔~

目前,内容区域每次滚动的距离是知道了,剩下的是计算滚动条相对于应该移动多少距离?

javascript自定义滚动条实现代码(javascript自定义函数)

  滚动条可移动范围 /滚动条每次移动距离 = 内容区域高度 / 内容区域每次移动多少距离

效果如下:

这里还有一个问题,就是同时还得区分是单次点击还是长按。

所以得判断一下从按下按钮到松开时候的时长,目前设置为<ms为单次点击,否则为长按:

拖动滚动条的时候,每移动1px滚动条,内容区域需要移动多少?

  先知道每1PX的距离占滚动条可移动范围的百分之几,再用内容区域高度除以所得的这个百分比,就得出滚动条每移动1px内容区域相对滚动多少距离了。

  内容区域滚动的距离 = 内容区域高度 / (滚动条滚动区域 / 1)

demo完整代码如下:

注意:因为用的是seajs写的,所以稍微留意下文件的加载情况啦

css:

html:

js:

标签: javascript自定义函数

本文链接地址:https://www.jiuchutong.com/biancheng/381714.html 转载请保留说明!

上一篇:JavaScript File API实现文件上传预览

下一篇:JavaScript+html5 canvas实现本地截图教程

  • 视同销售的销项税怎么计算?
  • 合同取得成本属于
  • 填专项扣除对个人还是公司受益
  • 怎么在网站上打印
  • 租房违约金怎么计算,怎么写
  • 以前减记存货价值的影响因素是什么意思
  • 关联方费用分摊是否要调账
  • 电子产品发票税是多少
  • 税收编码选错了,发票已经开出去几个月了,还有影响吗
  • 企业如何实现资源共享
  • 个人购买房屋的税
  • 退进项税留抵是什么意思
  • 进项税额大于销项税额怎么办
  • 营改增后融资租赁税率
  • 管理费用保险费汇算清缴
  • 资产处置收益属于利润表项目吗
  • 收到预付款是否确认收入
  • 劳务公司代发劳务费合法吗
  • 电脑维修中常用的软件
  • 房地产开发有限公司英文
  • 小规模餐饮企业增值税申报表填写
  • 公司回购股份有什么好处
  • 新成立的公司没有社保如何投标
  • 外购货物用于职工奖励
  • php read
  • 如何发放年终奖 一个蒸蒸日上的公司,当
  • win10系统安装详细步骤
  • php redis常用命令
  • 公司搬家费用怎么入账
  • 代销方式是什么意思
  • 免税有那些
  • 会计准则长期待摊费用开始计提摊销的时间
  • 非独立核算的分公司怎么做账
  • 公司收加盟费合法吗?
  • Vue3-Pinia的基本使用
  • numpy的简单例子
  • vi命令模式下的常用命令有哪些?
  • Ant Design-vue 解决input前后空格问题(推荐)
  • 实缴的钱注销后可以拿回来吗
  • centos8 mongodb
  • 挂靠到运输公司的车转让给个人如何交增值税
  • mysql数据类型和索引
  • 制造企业预提短期借款利息的会计科目处理
  • 差额征税的专用发票能抵扣吗
  • 结转增值税有留抵税额吗
  • 企业所得税季初和季末怎么算
  • 文化事业建设费2023年是否减免了
  • 资产负债表调整事项
  • 生产车间为生产产品
  • 印花税每个月都报吗
  • 个税起征点提高的意义
  • 个税滞纳金怎么计算
  • 生产成本里面的直接人工
  • 账本结转下年怎么划线
  • 股东变更需要哪些资料和手续
  • 会计凭证,报告怎么做
  • mysql could not be resolved: Name or service not known
  • centos7怎么关闭端口
  • win10建行网银盾插上网页弹不出来
  • anddroid.process.acore进程停止什么意思
  • ubuntu18.04配置
  • Linux配置防火墙端口
  • 如何让电脑启动更快
  • windows7system登录
  • linux用什么版本
  • win7开始菜单没有搜索框
  • cocos2d rpg
  • javascript访问用户cookie
  • 以下关于shell脚本参数
  • opengl3d
  • javascript入门教程
  • socket.io与pm2(cluster)集群搭配的解决方案
  • jquery操作样式
  • 安卓手机管家如何卸载
  • jqueryfor循环
  • 湖南电子税务局app
  • 车船税是比例还是定额
  • 税收分类分级管理后如何开展风险管理
  • 缴纳耕地占用税的好处
  • 土地增值税发票加计扣除5%年限
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设