原生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小测验(代码集合)
Jul 27 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 Javascript
JS绘制生成花瓣效果的方法
Aug 05 Javascript
原生js实现图片层叠轮播切换效果
Feb 02 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
Jun 01 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
Apr 13 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 Javascript
Vue实现兄弟组件间的联动效果
Jan 21 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数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
php 中的closure用法详解
2017/06/12 PHP
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
QA工程师岗位职责
2013/11/20 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
医德医风演讲稿
2014/05/20 职场文书
金融与证券专业求职信
2014/06/22 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
会议简报格式范文
2015/07/20 职场文书
2015年国庆节标语大全
2015/07/30 职场文书