原生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 相关文章推荐
Js获取事件对象代码
Aug 05 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
Nov 14 Javascript
用JS实现3D球状标签云示例代码
Dec 01 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
Jquery $when done then的用法详解
May 20 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
Javascript 编码约定(编码规范)
Mar 11 Javascript
微信小程序保存图片到相册权限设置
Apr 09 Javascript
js最全的数组的降维5种办法(小结)
Apr 28 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 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
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
PHP递归调用的小技巧讲解
2013/02/19 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
javascript数组详解
2014/10/22 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python查看列的唯一值方法
2018/07/17 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
判断单链表中是否存在环
2012/07/16 面试题
UDP协议功能
2013/01/06 面试题
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
冰淇淋开店创业计划书
2014/02/01 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
中式结婚主持词
2014/03/14 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
环保倡议书500字
2014/05/15 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
借名购房协议书范本
2014/10/06 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
护士个人年度总结范文
2015/02/13 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
走近毛泽东观后感
2015/06/04 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers