原生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中size()方法用法实例
Dec 27 Javascript
JS hashMap实例详解
May 26 Javascript
JavaScript 闭包详细介绍
Sep 28 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
react-redux中connect()方法详细解析
May 27 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
Aug 27 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
Vue前端项目部署IIS的实现
Jan 06 Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 24 Javascript
vue v-on:click传递动态参数的步骤
Sep 11 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
window.ActiveXObject使用说明
2010/11/08 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
Vue精简版风格概述
2018/01/30 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
python实现汉诺塔方法汇总
2016/07/25 Python
python 容器总结整理
2017/04/04 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python 互换字典的键值对实例
2019/02/12 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
python批量修改xml属性的实现方式
2020/03/05 Python
英国医生在线预约:Top Doctors
2019/10/30 全球购物
实习单位接收函
2014/01/11 职场文书
大学生学习自我评价
2014/01/13 职场文书
趣味运动会广播稿
2014/09/13 职场文书
个人违纪检讨书
2014/09/15 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
工作年限证明模板
2014/11/01 职场文书
应聘教师自荐信
2015/03/26 职场文书
小王子读书笔记
2015/06/29 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL
Python实现数据的序列化操作详解
2022/07/07 Python