原生JS实现圆环拖拽效果


Posted in Javascript onApril 07, 2017

最近用原生JS写一个环形的鼠标滑动效果,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    *{margin:0;padding:0;}
    div{width:50px;height:50px;border-radius:50%;position: absolute;
      border-width:10px;border-style: solid;}
  </style>
</head>
<body>
</body>
<script>
  var divList=[];//创建一个空的集合,用来存储创建的div
  for(i=0;i<50;i++){//循环次数50,创造50个div(环形)
    var div=document.createElement("div");
    var red=Math.round(Math.random()*255);
    var green=Math.round(Math.random()*255);
    var yellow=Math.round(Math.random()*255);//(产生随机数作为环形的颜色)
    div.style.borderColor="rgb("+red+","+green+","+yellow+")";
    document.body.appendChild(div);//在文档中产生环形
    divList[divList.length]=div;//将产生的每一个环形放入空集合
  }
  document.onmousemove=function(e){//先鼠标按下获取相对位置
    var evt=window.event || e;//IE兼容
    var x=evt.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft);//鼠标当前x位置
    var y=evt.clientY+(document.documentElement.scrollTop||document.body.scrollTop);//鼠标当前y位置

    divList[0].style.left=x+"px";//第一个环形的x位置
    divList[0].style.top=y+"px";//第一个环形的Y位置

      for(i=divList.length-1;i>0;i--){//循环让每一个环形都在它上一个的位置
        divList[i].style.left=divList[i-1].offsetLeft+"px";
        divList[i].style.top=divList[i-1].offsetTop+"px";
      }
    }
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
关于javascript DOM事件模型的两件事
Jul 22 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
JQuery防止退格键网页后退的实现代码
Mar 23 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 Javascript
RequireJS简易绘图程序开发
Oct 28 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
基于daterangepicker日历插件使用参数注意的问题
Aug 10 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
Zepto实现密码的隐藏/显示
Apr 07 #Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 #Javascript
详解JS中遍历语法的比较
Apr 07 #Javascript
JavaScript原生数组Array常用方法
Apr 06 #Javascript
微信小程序 图片宽度自适应的实现
Apr 06 #Javascript
微信小程序 下拉菜单的实现
Apr 06 #Javascript
微信小程序五星评分效果实现代码
Apr 06 #Javascript
You might like
PHP伪静态写法附代码
2008/06/20 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php的curl封装类用法实例
2014/11/07 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
Python中对列表排序实例
2015/01/04 Python
Python算术运算符实例详解
2017/05/31 Python
Django 前后台的数据传递的方法
2017/08/08 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Python Subprocess模块原理及实例
2019/08/26 Python
python处理document文档保留原样式
2019/09/23 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
python os.rename实例用法详解
2020/12/06 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
护士专业推荐信
2013/11/02 职场文书
会计专业应届生求职信
2013/11/24 职场文书
小学毕业演讲稿
2014/04/25 职场文书
关于教师节的广播稿
2014/09/10 职场文书
司机个人年终总结
2015/03/03 职场文书
高一作文之乐趣
2019/11/21 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL