原生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 相关文章推荐
javascript学习笔记(九) js对象 设计模式
Jun 19 Javascript
jquery实现盒子下拉效果示例代码
Sep 12 Javascript
提高jQuery性能的十个诀窍
Nov 14 Javascript
jquery1.9 下检测浏览器类型和版本的方法
Dec 26 Javascript
js跨域问题浅析及解决方法优缺点对比
Nov 08 Javascript
JavaScript实现图片轮播的方法
Jul 31 Javascript
jQuery自定义组件(导入组件)
Nov 08 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
微信小程序的tab选项卡的实现效果
May 15 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全排列递归算法代码
2012/10/09 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
js常用函数 不错
2006/09/08 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
Python 脚本的三种执行方式小结
2019/12/21 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
应届实习生的自我评价范文
2014/01/05 职场文书
工作会议欢迎词
2014/01/16 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
设计师求职信
2014/07/01 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
实习协议书
2015/01/27 职场文书
观后感开头
2015/06/19 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers