纯js实现的积木(div层)拖动功能示例


Posted in Javascript onJuly 19, 2017

本文实例讲述了纯js实现的积木(div层)拖动功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>拖动</title>
  <style type="text/css">
  </style>
</head>
<body id="content">
<input type="button" value="获取积木" id="div3"/>
</body>
<script>
  //生成积木
  document.getElementById("div3").onclick=function(){
    var num = getnumber();
    var num1 = getnumber();
    var num2 = getnumber();
    var num3 = getnumber();
    var divs = '<div id="s'+num+'"style="width: 200px;height: 200px;position: absolute;background:rgb('+num1+','+num2+','+num3+')"></div>'
    document.getElementById("content").insertAdjacentHTML("beforeEnd",divs);
    darg1("s"+num+"");
  };
  //h获取随机数,获取随机颜色
  function getnumber(){
    return parseInt(Math.random()*255);
  }
  //拖动积木
  function darg1(id){
    var obj = document.getElementById(id);
    var objx = 0;
    var objy = 0;
    obj.onmousedown = function(even){
      //鼠标到div的距离
      objx = even.clientX - obj.offsetLeft;
      objy = even.clientY - obj.offsetTop;
      //div移动的距离 = 鼠标到父窗口的距离 - 鼠标到div的距离
      document.onmousemove = function(even){
        obj.style.left = even.pageX-objx+'px';
        obj.style.top = even.pageY-objy+'px';
      };
      document.onmouseup = function(){
        document.onmousemove = null;
        document.onmouseup = null;
      };
    };
    return false;
  }
</script>
<html>

点击button按钮,获取积木,获取积木后可以在浏览器内随意拖动生成的积木:

纯js实现的积木(div层)拖动功能示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
node.js中的http.request方法使用说明
Dec 14 Javascript
js对象的复制继承实例
Jan 10 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
jquery横向纵向鼠标滚轮全屏切换
Feb 27 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
Aug 24 Javascript
webpack打包多页面的方法
Nov 30 Javascript
vue实现tab栏点击高亮效果
Aug 19 Javascript
前端学习——JavaScript原生实现购物车案例
Mar 31 Javascript
vue loadmore组件上拉加载更多功能示例代码
Jul 19 #Javascript
vue引入swiper插件的使用实例
Jul 19 #Javascript
vue loadmore 组件滑动加载更多源码解析
Jul 19 #Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 #Javascript
JS设置随机出现2个数字的实例代码
Jul 19 #Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 #jQuery
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 #Javascript
You might like
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
js实现日历与定时器
2017/02/22 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
ajax请求data遇到的问题分析
2018/01/18 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
建筑人员岗位职责
2013/12/25 职场文书
《王二小》教学反思
2014/02/27 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
研究生导师推荐信
2015/03/25 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js
golang DNS服务器的简单实现操作
2021/04/30 Golang
Python中requests库的用法详解
2022/06/05 Python