Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
4
css
body { height: 100vh; width: 100vw; display: flex; background: #1E88E5; overflow:hidden; } #container { margin: auto; } #container .total { width: 400px; height: 24px; position: relative; cursor: pointer; } #container .total > div { height: 100%; border-radius: 16px; pointer-events: none; position: absolute; } #container .total .previous { top: 4px; left: 0px; height: 16px; background: #FDD835; width: calc(((100% / 6)*3) - 32px); } #container .total .current { background: #F44336; width: 24px; top: 0px; left: calc(((100% / 6)*3) - 12px); display: flex; } #container .total .current span { margin: auto; color: white; font-family: sans-serif; font-weight: bolder; display: none; } #container .total .next { top: 4px; right: 0px; height: 16px; background: #FDD835; width: calc(((100% / 6)*3) - 32px); }
JavaScript
const steps = 6; let current = { value: 3 }; let total = document.querySelector(".total"); const currentDiv = document.querySelector(".current"); const previousDiv = document.querySelector(".previous"); const nextDiv = document.querySelector(".next"); changeStep(2); total.addEventListener("click", function(e) { let x = e.offsetX / (total.offsetWidth / (steps + 1)); changeStep(x); TweenLite.to(currentDiv.style, 0.25, { ease: Power3.easeInOut, transform: "scale(1.5)", onComplete: () => { TweenLite.to(currentDiv.style, 0.75, { ease: Elastic.easeOut.config(1, 0.3), transform: "scale(1)" }); } }); }); let isDown = false total.addEventListener("mousedown", function(e) { isDown = true // let x = e.offsetX / (total.offsetWidth / (steps + 1)); // changeStep(x); TweenLite.to(currentDiv.style, 0.25, { ease: Elastic.easeOut.config(1, 0.5), transform: "scale(1.5)" }); }); total.addEventListener("mousemove", function(e) { if(isDown) { let x = e.offsetX / (total.offsetWidth / (steps + 1)); changeStep(x); } }); total.addEventListener("mouseup", function(e) { isDown = false TweenLite.to(currentDiv.style, 0.5, { ease: Power3.easeInOut, transform: "scale(1)" }); }); function changeStep(x) { x = x * (total.offsetWidth / (steps + 1)); TweenLite.to(currentDiv.style, 0.75, { ease: Elastic.easeOut.config(1, 0.5), left: x - 16 + "px" }); // currentDiv.style.left = x + 16 + 'px' if ((x-32) < 0.1) { console.log('error') TweenLite.to(previousDiv.style, 0.12, { ease: Power4.easeOut, width: Math.max(x - 32,0) + "px" }); } else { TweenLite.to(previousDiv.style, 0.75, { ease: Elastic.easeOut.config(1, 0.5), width: Math.max(x - 32,0) + "px" }); } // previousDiv.style.width = x + 'px' if (total.offsetWidth - x - 24 < 0) { TweenLite.to(nextDiv.style, 0.12, { ease: Power4.easeOut, width: Math.max(total.offsetWidth - x - 24, 0) + "px" }); } else { TweenLite.to(nextDiv.style, 0.75, { ease: Elastic.easeOut.config(1, 0.5), width: Math.max(total.offsetWidth - x - 24, 0) + "px" }); } // nextDiv.style.width = Math.max((total.offsetWidth - x) - 58,0) + 'px' }
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>弹性滑块-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号