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

Karima ·
更新时间:2024-09-20
· 746 次阅读

自定义滚动条

目录

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

代码实例

* { 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实现自定义滚动条的资料请关注软件开发网其它相关文章!



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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号