JS实现点击按钮随机生成可拖动的不同颜色块示例


Posted in Javascript onJanuary 30, 2019

本文实例讲述了JS实现点击按钮随机生成可拖动的不同颜色块。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com JS点击生成随机颜色块</title>
<style type="text/css">
div{
  width: 100px;
  height: 100px;
  background-color: red;
  position: absolute;
  margin-left: 10px;
  float: left;
}
</style>
</head>
<body id="body1">
<button onclick="btn()">创建div</button>
<script>
  function btn(){
    var id;
    //动态创建元素
    var str=document.createElement("div");
    //元素的背景色随机的
    str.style.backgroundColor=getColorRandom();
    //将生成的div追加到body中
    document.getElementById("body1").appendChild(str);
    //随机生成的id设置为动态创建的div的id
    str.id="items"+parseInt(Math.random()*10000);
    // 获取动态生成的div的id
    var obj=document.getElementById(str.id);
    var disX=0;
    var disY=0;
    //鼠标点击落下事件
    obj.onmousedown=function (event){
      disX=event.clientX-obj.offsetLeft;
      disY=event.clientY-obj.offsetTop;
      //鼠标移开事件
      document.onmousemove=function(ev){
        obj.style.left=ev.clientX-disX+"px";
        obj.style.top=ev.clientY-disY+"px";
      }
      //鼠标松开事件
      document.onmouseup= function () {
        document.onmousemove=null;
        document.onmouseup=null;
      }
    }
    //生成随机颜色
    function getColorRandom(){
      var c="#";
      var cArray=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];
      for(var i=0;i<6;i++){
       var cIndex= Math.round(Math.random()*15);
        c+=cArray[cIndex];
      }
      return c;
    }
  }
</script>
</body>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行效果:

JS实现点击按钮随机生成可拖动的不同颜色块示例

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

Javascript 相关文章推荐
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 Javascript
jQuery统计上传文件大小的方法
Jan 24 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
javascript实现图片轮换动作方法
Aug 07 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 #Javascript
谈谈为什么你的 JavaScript 代码如此冗长
Jan 30 #Javascript
JS实现头条新闻的经典轮播图效果示例
Jan 30 #Javascript
AJAX在JQuery中的应用详解
Jan 30 #jQuery
JS实现换肤功能的方法实例详解
Jan 30 #Javascript
js实现ATM机存取款功能
Oct 27 #Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 #Javascript
You might like
无线电广播的开始
2002/01/30 无线电
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
python把转列表为集合的方法
2019/06/28 Python
python正则-re的用法详解
2019/07/28 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
护理职业生涯规划书
2014/01/24 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
公司表扬信格式
2015/05/04 职场文书
不同意离婚代理词
2015/05/23 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers