js 如何实现拖动滑块

实现拖动滑块,先分析,滑块可以拖动应该改变滑块在页面中的坐标,那就采用定位拿到元素的 top 和 left 对它们进行赋值,接下来就是准备事件,既然是鼠标拖动应该具备 mousedownmousemovemouseup 三种事件,通过 mousedown 鼠标按下事件选中滑块,mousemove 事件拖动滑块,在拖动滑块的时候获取鼠标在可视窗口的坐标赋值给滑块的 top 和 left

具体代码实现

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}div {width: 60px;height: 60px;background-color: coral;border-radius: 20%;position: absolute;border: 6px solid skyblue;left: 0;top: 0;}</style>
</head><body><div></div><script>let div = document.querySelector('div')let x, ylet fn = function (e) {// console.log('hhhhhhhh')div.style.left = e.clientX - x + 'px'div.style.top = e.clientY - y + 'px'if (e.clientX - x < 30) {div.style.left = 0}if (e.clientY - y < 30) {div.style.top = 0}if (e.clientX - x > document.documentElement.clientWidth - div.offsetWidth - 30) {div.style.left = document.documentElement.clientWidth - div.offsetWidth + 'px'}if (e.clientY - y > document.documentElement.clientHeight - div.offsetHeight - 30) {div.style.top = document.documentElement.clientHeight - div.offsetHeight + 'px'}}div.addEventListener('mousedown', function (e) {x = e.offsetXy = e.offsetYdocument.addEventListener('mousemove', fn)})div.addEventListener('mouseup', function () {document.removeEventListener('mousemove', fn)})</script>
</body></html>

运行

js 如何实现拖动滑块相关推荐

  1. html css工资条样式,JS+CSS3交互式拖动滑块选择工资条代码

    一款JS+CSS3交互式拖动滑块选择工资条代码,可以托工工资下面的滑块来实时改变工资的数值大小,除了数字变化的同时还有一个颜色的平滑变化,当数值到最大值时,有一个文字的摆动动画特效. 查看演示 下载资 ...

  2. css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)

    vue验证滑块功能,在生活中很多地方都可以见到,那么使用起来非常方便,基于vue如何实现滑块验证呢?下面通过代码给大家讲解. 效果图如下所示: 拖动前 拖动后 代码引用的css与js都是线上的 将代码 ...

  3. 原生js实现拖动滑块验证

    拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有. 下面实现的是某宝的拖动滑块验证: <!DOCTYPE html> <html lang="en"> ...

  4. 拖动滑块验证——原生JS

    ** 拖动滑块验证--原生JS ** 大体思路: 1,拖动滑块验证我们首先要分析需要什么事件,怎么触发拖动滑块. 2,首先需要点击事件,当你点击鼠标的时候获取到一个X轴的距离. 3,还需要一个鼠标移动 ...

  5. html实现鼠标移动波纹效果,js实现拖动滑块和点击水波纹效果

    本篇文章就给大家介绍js实现拖动滑块效果和点击水波纹效果的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 拖动滑块效果: 先看看效果图: Document input[type ...

  6. jQuery手机触屏拖动滑块验证跳转插件

    HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...

  7. 拖动滑块验证--vue实现

    代码引用的css与js都是线上的 将代码全部复制到一个html中可以直接打开,极其简单. 来分析一下代码 底色div上放了一个变色div再放一个提示字的div最后加一个滑块div 给滑块div绑定鼠标 ...

  8. js原生刻度尺滚动滑块插件

    为什么80%的码农都做不了架构师?>>>    js原生刻度尺滚动滑块插件 用的MUI框架,原生兼容性很好,性能也更好,所以费了很大的力气改成原生的分享给大家. 有时间了改成手机版. ...

  9. 小程序 拖动滑块验证(自定义组件 插件分享)

    效果图: 文章目录: #1 创建组件 #2 组件编码 MoveVerify.wxss MoveVerify.wxml MoveVerify.js #3 页面引用 在页面的 json 文件中引用组件 在 ...

  10. JavaScript实现拖动滑块验证(方法已封装)

    前提 之前写了一篇博文,题目是<JavaScript实现拖动滑块验证>,里面都是用最简单的方式实现的.后来,群里大神推荐了一款unlock.js插件,称作幻灯片解锁插件.在这里附上它的gi ...

最新文章

  1. 机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)
  2. 星座图与IQ调制总结+BPSK、QPSK、8PSK、16QAM等的区别与总结
  3. 萤石的云存储到期怎么启动内存卡_3款萤石智能入户单品 让普通入户门秒变智能...
  4. centos 6.0安装杀毒软件clamAV 0.98
  5. 前端工程师面经——概述及面试技巧加考点篇(一)
  6. python 某个数是不是在某个范围内_教写一个简单的python小程序(04)
  7. 如何通过 Tampermonkey 快速查找 JavaScript 加密入口
  8. JSP — GET 与 POST 的区别
  9. map slice综合示例 go语言
  10. NGINX简介及工作原理
  11. 华为android强刷系统下载地址,华为强刷救砖卡刷包合集下载(一)共707GB
  12. 关于PMSM的弱磁与MTPA结合控制超详细分析
  13. Python之面向对象-类与 类之间的关系
  14. 最全面的免费可商用素材网站合集
  15. 拍沪牌服务器响应,拍中了四张沪牌,再来聊聊拍牌经验
  16. 网络打印机计算机服务,在Windows7中添加网络打印机的解决方案提示“本地打印机后台处理程序服务未运行”...
  17. Prometheus实战--Uber背书的存储解决方案M3
  18. arduino 超详细的开发入门指导
  19. php编网页版计算器,php编程实现简单的网页版计算器功能示例
  20. 暖通空调远程监控解决方案

热门文章

  1. [高效Mac] 多显示器快速切换鼠标焦点和移动窗口
  2. 前端常见开发英语单词大全
  3. Android速度仪表盘,速度评级小车动画(模仿电脑版360宽带测速器)
  4. AppFabric 1.1: installation error 错误代码 1603 windows server 2016 sharepoint 2019 Preparation Tool
  5. 2014中国十大管理实践-世界经理人网站
  6. 一个简单的dw网页制作作业,学生个人html静态网页制作成品代码——怪盗基德动漫主题网页成品(15页)
  7. Microsoft Visual Studio 2010(vs2010) 中文版安装
  8. 详解 ManualResetEvent
  9. 机房收费系统-数据库设计说明书
  10. 微信公众号服务器管理员权限,公众号管理员和运营者的区别是什么?公众号管理员需要承担责任吗?...