纯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 相关文章推荐
JS JavaScript获取Url参数,src属性参数
Mar 09 Javascript
Javascript面向对象之四 继承
Feb 08 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
Apr 04 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
15个非常实用的JavaScript代码片段
Dec 18 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
vue中promise的使用及异步请求数据的方法
Nov 08 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 Javascript
Vue组件为什么data必须是一个函数
Jun 11 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 Javascript
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
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
DC动漫人物排行
2020/03/03 欧美动漫
PHP的pcntl多进程用法实例
2015/03/19 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
简明 Python 基础学习教程
2007/02/08 Python
python编程使用协程并发的优缺点
2018/09/20 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
市场营销专业毕业生自荐信
2013/11/02 职场文书
职务说明书范文
2014/05/07 职场文书
个人安全生产责任书
2014/07/28 职场文书
见习报告怎么写
2014/10/31 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
redis实现的四种常见限流策略
2021/06/18 Redis
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python