js實(shí)現(xiàn)自定義滾動(dòng)條的示例
自定義滾動(dòng)條
目錄
- 代碼實(shí)例
- 代碼解析
- 下載源碼鏈接
代碼實(shí)例
* {
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');
// 按下滾動(dòng)條后的操作
oBox2.onmousedown = function(e) {
// 獲取事件的必備操作,保證事件被獲取
var oEvent = e || event
// 保證只有被按下滾動(dòng)條后才能執(zhí)行此函數(shù)
document.onmousemove = function(e) {
var oEvent = e || event
var l = oEvent.clientX - oBox1.offsetLeft
// 獲取滾動(dòng)條可活動(dòng)的寬度范圍
var wid = oBox1.offsetWidth - oBox2.offsetWidth
if (l < 0) {
l = 0
} else if (l > wid) {
l = wid
}
// 位置定位
oBox2.style.left = l + 'px'
// 根據(jù)滾動(dòng)條位置獲得比例
var scale = l / wid
// 圖片的寬度和高度
var w = 3264 * scale
var h = 4080 * scale
// oBox3.style.cssText是加在內(nèi)嵌style中的
oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;'
}
// 保證鼠標(biāo)松開后事件不再執(zhí)行
document.onmouseup = function() {
document.onmousemove = null
document.onmousedown = null
}
}
代碼解析
elem.style.cssText是加在內(nèi)嵌style中的
// oBox3.style.cssText是加在內(nèi)嵌style中的 oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;
下載源碼鏈接
以上就是js實(shí)現(xiàn)自定義滾動(dòng)條的示例的詳細(xì)內(nèi)容,更多關(guān)于js實(shí)現(xiàn)自定義滾動(dòng)條的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- JS自定義滾動(dòng)條效果
- js滾輪事件 js自定義滾動(dòng)條的實(shí)現(xiàn)
- 原生JS實(shí)現(xiàn)自定義滾動(dòng)條效果
- JS自定義滾動(dòng)條效果簡(jiǎn)單實(shí)現(xiàn)代碼
- JavaScript限定范圍拖拽及自定義滾動(dòng)條應(yīng)用(3)
- 原生js封裝自定義滾動(dòng)條
- 基于JavaScript實(shí)現(xiàn)自定義滾動(dòng)條
- JavaScript自定義瀏覽器滾動(dòng)條兼容IE、 火狐和chrome
- JavaScript 輪播圖和自定義滾動(dòng)條配合鼠標(biāo)滾輪分享代碼貼
- javascript自定義滾動(dòng)條實(shí)現(xiàn)代碼
- JS實(shí)現(xiàn)的頁(yè)面自定義滾動(dòng)條效果
相關(guān)文章
Bpmn.js activiti 流程編輯器詳細(xì)教程
流程編輯器是一種用于創(chuàng)建、編輯和管理流程圖的工具,它提供了一個(gè)可視化的界面,使用戶能夠以圖形化的方式定義和配置流程的各個(gè)步驟、條件和流程間的關(guān)系,說(shuō)明關(guān)于bpmn.js的一些事件, 通過(guò)本文你可以了解到,感興趣的朋友一起看看吧2023-10-10
微信小程序?qū)崿F(xiàn)簡(jiǎn)單計(jì)算器與秒表
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單計(jì)算器與秒表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
javascript 廣告移動(dòng)特效的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇javascript 廣告移動(dòng)特效的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
layui字體圖標(biāo) loading圖標(biāo)靜止不旋轉(zhuǎn)的解決方法
今天小編就為大家分享一篇layui字體圖標(biāo) loading圖標(biāo)靜止不旋轉(zhuǎn)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
微信小程序異步API為Promise簡(jiǎn)化異步編程的操作方法
把微信小程序異步API轉(zhuǎn)化為Promise。用Promise處理異步操作很方便。下面小編給大家?guī)?lái)了微信小程序異步API為Promise簡(jiǎn)化異步編程的操作方法,感興趣的朋友一起看看吧2018-08-08
js仿京東輪播效果 選項(xiàng)卡套選項(xiàng)卡使用
這篇文章主要為大家詳細(xì)介紹了js仿京東輪播效果,選項(xiàng)卡里套選項(xiàng)卡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
使用JS實(shí)現(xiàn)圖片展示瀑布流效果的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇使用JS實(shí)現(xiàn)圖片展示瀑布流效果的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09

