js实现自定义滚动条的示例

 更新时间:2020年10月27日 08:35:51   作者:星辉  
这篇文章主要介绍了js实现自定义滚动条的示例,帮助大家制作JS特效,美化自身网页,感兴趣的朋友可以了解下

自定义滚动条

目录

  • 代码实例
  • 代码解析
  • 下载源码链接

代码实例

* {
	padding: 0;
	margin: 0;
}
#box1 {
	width: 500px;
	height: 20px;
	background: #999;
	position: relative;
	margin: 20px auto;
}
#box2 {
	width: 20px;
	height: 20px;
	background: green;
	position: absolute;
}
#box3 {
	width: 0;
	height: 0;
	margin: 20px auto;
}
#box3 img {
	width: 100%;
	height: 100%;
}

<div id="box1">
<div id="box2"></div>
</div>
<div id="box3">
	<img src="./1.jpg">
</div>

// 获取dom元素
var oBox1 = document.getElementById('box1');
var oBox2 = document.getElementById('box2');
var oBox3 = document.getElementById('box3');

// 按下滚动条后的操作
oBox2.onmousedown = function(e) {
// 获取事件的必备操作,保证事件被获取
var oEvent = e || event

// 保证只有被按下滚动条后才能执行此函数
document.onmousemove = function(e) {
	var oEvent = e || event
	var l = oEvent.clientX - oBox1.offsetLeft
	// 获取滚动条可活动的宽度范围
	var wid = oBox1.offsetWidth - oBox2.offsetWidth
	if (l < 0) {
		l = 0
	} else if (l > wid) {
		l = wid
	}
	// 位置定位
	oBox2.style.left = l + 'px'

	// 根据滚动条位置获得比例
	var scale = l / wid
	// 图片的宽度和高度
	var w = 3264 * scale
	var h = 4080 * scale
	// oBox3.style.cssText是加在内嵌style中的
	oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;'
}

// 保证鼠标松开后事件不再执行
document.onmouseup = function() {
	document.onmousemove = null
	document.onmousedown = null
}
}

代码解析

elem.style.cssText是加在内嵌style中的

// oBox3.style.cssText是加在内嵌style中的
oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;

下载源码链接

星辉的Github

以上就是js实现自定义滚动条的示例的详细内容,更多关于js实现自定义滚动条的资料请关注脚本之家其它相关文章!

相关文章

  • 微信小程序页面间传值与页面取值操作实例分析

    微信小程序页面间传值与页面取值操作实例分析

    这篇文章主要介绍了微信小程序页面间传值与页面取值操作,结合实例形式分析了微信小程序页面间传值及页面取值操作相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-04-04
  • 全面解析JavaScript中offsetLeft、offsetTop的用法

    全面解析JavaScript中offsetLeft、offsetTop的用法

    本文主要介绍了全面解析JavaScript中offsetLeft、offsetTop的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • ES6 javascript中Class类继承用法实例详解

    ES6 javascript中Class类继承用法实例详解

    这篇文章主要介绍了ES6 javascript中Class类继承用法,结合实例形式较为详细的分析了ES6继承的基本用法、相关属性、方法与使用技巧,需要的朋友可以参考下
    2017-10-10
  • 史上最为详细的javascript继承(推荐)

    史上最为详细的javascript继承(推荐)

    这篇文章主要介绍了javascript继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • js自定义input文件上传样式

    js自定义input文件上传样式

    这篇文章主要为大家详细介绍了js自定义input文件上传样式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 利用hasOwnProperty给数组去重的面试题分享

    利用hasOwnProperty给数组去重的面试题分享

    obj.hasOwnProperty(attr) 判断是否是原型中的属性,false就是原型中的属性,下面这篇文章主要给大家介绍了一道利用hasOwnProperty给数组去重的面试题,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11
  • 基于JavaScript短信验证码如何实现

    基于JavaScript短信验证码如何实现

    我们在使用移动、电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码。最近因为某省业务需要,也做了个类似的功能
    2016-01-01
  • JS使用oumousemove和oumouseout动态改变图片显示的方法

    JS使用oumousemove和oumouseout动态改变图片显示的方法

    这篇文章主要介绍了JS使用oumousemove和oumouseout动态改变图片显示的方法,涉及javascript鼠标事件及图片操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 修复bash漏洞的shell脚本分享

    修复bash漏洞的shell脚本分享

    这篇文章主要介绍了修复bash漏洞的shell脚本分享,本文脚本适应常见的linux服务器系统,如CentOS、Debian、Ubuntu、OpenSuSE、Aliyun等系统,需要的朋友可以参考下
    2014-12-12
  • JS+CSS实现类似QQ好友及黑名单效果的树型菜单

    JS+CSS实现类似QQ好友及黑名单效果的树型菜单

    这篇文章主要介绍了JS+CSS实现类似QQ好友及黑名单效果的树型菜单,涉及JavaScript结合鼠标事件针对页面元素CSS样式的动态操作技巧,非常简单实用,需要的朋友可以参考下
    2015-09-09

最新评论