最简单的JavaScript拖动代码

<script>
var xx=0,yy=0;
function a(v)
{
xx=event.x-v.offsetLeft;
yy=event.y-v.offsetTop;
}
function b(v)
{
v.style.left=event.x-xx;
v.style.top=event.y-yy;
}
</script>
<img id="img" src="http://www.ijavascript.cn/templates/logo/logo.gif" style="position:absolute;" ondragstart="a(this);" ondrag="b(this);" >

上面这段代码转自www.ijavascript.cn

下面是做的一个仿Android手机九点连线开锁,但是是简易版,没有连线,没有连线顺序。

 1 <html>
 2 <head>
 3     <title></title>
 4     <style type="text/css">
 5     table{ 6         -moz-user-select:none;
 7          hutia:expression(this.onselectstart=function(){return(false)});
 8     }
 9     table tr td{10         height=100px;
11         width=100px;
12         text-align=center;
13         border: 1px solid #999;
14         background-color: #DDD;
15     }
16     </style>
17 </head>
18 <body>
19 <script>
20 var xx=0,yy=0;//鼠标距离table左上端的距离。
21 var pwd=0;//通过位运算计算那些点被激活。
22 function a(obj){
23     if (event.button==1) //检查鼠标左键是否处于按下状态
24     {
25         xx=event.x-obj.offsetLeft;
26         yy=event.y-obj.offsetTop;
27         if (xx>=20&&xx<=80&&yy>=20&&yy<=80) {
28             obj.rows[0].cells[0].style.background='#99D';//修改背景颜色
29             pwd=pwd|256;//位运算,激活第一行第一列的点。
30         }
31         if(xx>=120&&xx<=180&&yy>=20&&yy<=80){
32             obj.rows[0].cells[1].style.background='#99D';//同上
33             pwd=pwd|128;//同上
34         }
35         if(xx>=220&&xx<=280&&yy>=20&&yy<=80){
36             obj.rows[0].cells[2].style.background='#99D';
37             pwd=pwd|64;
38         }
39         if(xx>=20&&xx<=80&&yy>=120&&yy<=180){
40             obj.rows[1].cells[0].style.background='#99D';
41             pwd=pwd|32;
42         }
43         if(xx>=120&&xx<=180&&yy>=120&&yy<=180){
44             obj.rows[1].cells[1].style.background='#99D';
45             pwd=pwd|16;
46         }
47         if(xx>=220&&xx<=280&&yy>=120&&yy<=180){
48             obj.rows[1].cells[2].style.background='#99D';
49             pwd=pwd|8;
50         }
51         if(xx>=20&&xx<=80&&yy>=220&&yy<=280){
52             obj.rows[2].cells[0].style.background='#99D';
53             pwd=pwd|4;
54         }
55         if(xx>=120&&xx<=180&&yy>=220&&yy<=280){
56             obj.rows[2].cells[1].style.background='#99D';
57             pwd=pwd|2;
58         }
59         if(xx>=220&&xx<=280&&yy>=220&&yy<=280){
60             obj.rows[2].cells[2].style.background='#99D';
61             pwd=pwd|1;
62         }
63     }
64
65 }
66 function b(obj){
67     for (var i = 0; i < 3; i++) {
68         for (var j = 0; j < 3; j++) {
69             //重置单元格背景颜色
70             obj.rows[i].cells[j].style.background='#DDD';
71         }
72     }
73     if (pwd.toString()=='471')//如果某几个点被激活(471的情况‘Z’字形),则判断输出ok
74      {
75         document.write("OK!");
76     }
77     pwd=0;//重置为未被激活的状态
78 }
79 </script>
80 <table onmousemove="javascript:a(this);" onmouseup="javascript:b(this);">
81     <tr>
82         <td>~</td>
83         <td>~</td>
84         <td>~</td>
85     </tr>
86     <tr>
87         <td>~</td>
88         <td>~</td>
89         <td>~</td>
90     </tr>
91     <tr>
92         <td>~</td>
93         <td>~</td>
94         <td>~</td>
95     </tr>
96 </table>
97 </body>
98 </html>

转载于:https://www.cnblogs.com/yexinwei/archive/2013/01/18/2865697.html

JavaScript|拖拽|仿Android手机九点连线开锁相关推荐

  1. Javascript 拖拽的一些高级的应用——逐行分析代码,让你轻松了解拖拽的原理...

    我们看看之前的拖拽在周围有东西的时候会出现什么问题? 在高级浏览器中不会有啥问题,我们放到IE7下面测试一下,问题就出来了.如图 我们可以很清楚的看到,文字都已经被选中了.那这个用户体验很不好,用起来 ...

  2. 功能强大的JavaScript 拖拽库 SortableJS

    功能强大的JavaScript 拖拽库 SortableJS 官网:http://www.sortablejs.com/ 示例: 配置项: var sortable = new Sortable(el ...

  3. 简易而又灵活的Javascript拖拽框架(五)

    ====================================================== 注:本文源代码点此下载 ================================= ...

  4. JavaScript 通过plus读取android手机短信内容

    JavaScript 通过plus读取android手机短信内容. 1.获取android权限 在HBuilder工程中双击应用的"manifest.json"文件,切换到&quo ...

  5. JavaScript 拖拽功能

    JavaScript 拖拽功能 - Web前端工程师面试题讲解 拖动图片 <img draggable="true"> 一开始 html 页面 <style> ...

  6. 源码推荐:collectionView拖拽,仿凤凰FM iOS 局部监听键盘再也不会挡住输入框

    UICollectionView拖拽移动单元以及本地保存(上传者:dengqi) UICollectionView拖拽移动单元以及本地保存,可以保存你上次移动的位置. 仿映客直播导航条(上传者:Coo ...

  7. Android表格拖拽排序,Android 拖拽排序控件 DragGridView

    Android 拖拽排序控件 DragGridView Android 开发中,我们经常会遇到条目拖拽排序的需求,特别是在新闻类应用中就更普遍了.其实,我们在网上可以搜到许多关于拖拽排序的自定义控件, ...

  8. android 拖拽gridview,Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换

    具体的原理描述,可以去看夏神的这个博文 效果图: 这里,采用了gridview的onLongItemClickListener,来拿到长按的view,用于拖动 解决了,原来实现中可能遇到的item消失 ...

  9. android 拖拽布局,Android拖拽、回弹布局

    这一次拆解的是今日头条的关注页面:点击关注的头像会弹出一个文章列表.在边界拖拽会出现关闭提示.这次同时实现了Android端和IOS端的效果. 先讲解Android端的实现吧,毕竟我是个Android ...

最新文章

  1. 资本|五大科技巨头并购投资布局分析
  2. 【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )
  3. linux中find命令列举,Linux中常见find命令的使用
  4. 工业用微型计算机(27)-dos和BIOS调用(1)
  5. 《大话移动 APP 测试》
  6. 【SQL编程】Greenplum 数据库通过 timestamp 类型字段值实现数据的(日期时段筛选+时间时段筛选)跨天时段及不跨天时段SQL详情
  7. Java布局怎么加图片组件_java – 将图像缩略图添加到网格中的布局...
  8. android command line tools 下载,Mac 安装 Android commandlinetools 各种报错的问题
  9. 针对自动化测试的23种Node.js优秀实践
  10. 设计模式(1)-- 七大软件设计原则-开闭原则
  11. OpenGL编程指南学习 之一 源码环境运行
  12. 统计通话次数和时间的软件_通话时间统计
  13. 2021-07-21
  14. 笔记本电脑变WiFi和WiFi共享精灵的应用教程比较
  15. C/C++输入输出加速(算法考试重要!)
  16. 操作系统之——进程管理:同步进程和进程互斥
  17. Harris角点特征提取和角点特征匹配(2)
  18. python selenium爬取去哪儿网的酒店信息——详细步骤及代码实现
  19. 现代密码学之电子货币的加密
  20. python接口压测1000并发_测试工具:黑羽压测

热门文章

  1. web developer tips (70):使用命令脚本安装IIS7
  2. document.all
  3. enterpriseTECH Dec 10
  4. what should you do at the new arrival of the place
  5. 纪念一下我画的第一个印刷电路板!
  6. apple MacBook air m1是我认为最非常适合学生的笔记本
  7. UNITY IMGUI
  8. QT. 学习之路 一
  9. 组件化开发 ——— 制作私有库
  10. Grafana+Prometheus系统监控之webhook