位置: 编程技术 - 正文

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实现本地截图教程

  • 代缴税费
  • 小企业会计准则和企业会计准则的区别
  • 转让无形资产增值税
  • 个体工商户个人所得税怎么申报
  • 总公司向子公司收取管理费如何纳税
  • 税务登记法人变更后多久生效
  • 餐饮无票收入怎么做账
  • 出口货物不用退税吗现在
  • 附加税按实际缴纳计提吗
  • 预交了一个季度的社保
  • 免费送试用装的话术
  • 个人建筑安装如何交税
  • 所得税季报固定资产加速折旧表资产原值
  • 当期损益包括营业外收支吗
  • 境外所得税收抵免政策
  • 在建工程转固定资产凭证附件
  • 冲红发票金额大怎么办
  • 发放股票股利后的未分配利润怎么算
  • 总分类账的账簿启用表怎么填
  • 收到汇算清缴退税的现金流量
  • 贸易公司购入商品会计分录
  • 电子商务企业类别有哪些
  • 1697508230
  • 政策性减免单位社保
  • 总分机构异地移送
  • 外国企业代表处企业所得税
  • 遗属补助是死亡当月发放还是次月发放
  • 应收账款未计提坏账,但是确实收不回来
  • 工资属于劳务收入吗
  • 非盈利组织捐赠现金支需要什么资料
  • 预收账款可计入
  • 脑部病毒感染什么症状
  • 如何快速修复
  • php数据库添加失败的原因
  • 其他应收款贷方表示什么
  • macOS Big Sur 11.1 RC预览版(20C69)正式更新
  • 分配辅助生产成本时可能借记的科目有
  • 缴纳住房公积金分录
  • 国地税合并有什么角度写论文
  • 固定资产更新改造的账务处理
  • php从服务器下载文件
  • php用img显示图片
  • 申请高新技术企业收入要多少
  • 300秒带你手写一首诗
  • 程序员后续发展
  • 计提社保会计分录金额怎么写
  • 用pullout造句
  • 长期股权投资的交易费用计入哪里
  • 资产负债表日后事项是什么意思?
  • 新的会计制度
  • 商誉的会计核算怎么核算
  • sqlserver2005 xml字段的读写操作
  • 伙食费怎么入账
  • 外贸公司进口关税增值税的帐务处理流程
  • 合同资产结转收入
  • 单位的收入是刷卡怎么做账?
  • 营业成本包括哪些会计科目
  • 会计记账借贷记什么账户
  • mysql 查询范围
  • navicate创建存储过程
  • windowsserver2008远程桌面怎么打开
  • ubuntu更新版本
  • task运行在哪个工作单元
  • mac m1读取ntfs
  • Linux Shell 通配符、元字符、转义符使用实例介绍
  • Win10打开浏览器就未响应
  • cocos编程
  • 函数里面声明函数
  • node.js实战
  • css ul
  • python signal模块
  • unity项目流程
  • easyui messager alert 三秒后自动关闭提示的实例
  • node js连接数据库
  • shell脚本计算字符串长度
  • jquery中可以用什么方法来获取和设置元素属性
  • 对activity的四种启动模式的理解
  • python设计二叉树结构
  • 服务协议属于哪类合同
  • 营改增后如何纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设