js实现两点之间画线的方法


Posted in Javascript onMay 12, 2015

本文实例讲述了js实现两点之间画线的方法。分享给大家供大家参考。具体分析如下:

最近有点无聊,琢磨了很久,想到了一消磨时间的点子,也就是做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=gb2312" />
<title>两点之间画折线</title>
<style type="text/css">
body{
 font-size:12px;
}
</style>
</head>
<script type="text/javascript">
<!--
var dot=new Array();
document.onmousedown =function(a) 
{ 
 //若div存在,则删除
 if(document.getElementById('line_div')){
 var clearDiv=document.getElementById("line_div");
 clearDiv.parentNode.removeChild(clearDiv);
 }
 //按下时创建一个事件
 if(!a) a=window.event;
 //获取x轴、y轴坐标
 var x=a.clientX;
 var y=a.clientY;
 //当数组长度大于等于4时,清空数组
 if(dot.length>=4) dot.splice(0,4);
 //将x、y添加到数组中,数组中保存了两组坐标值,相当于页面上的A(x1,y1)、B(x2,y2)两点
 dot.push(x,y);
 //当数组长度为4时,画线。
 if(dot.length==4){
 //计算div的长和宽
 var width=Math.abs(dot[0]-dot[2]);
 var height=Math.abs(dot[1]-dot[3]);
 //在页面上定位div左上角的具体位置
 var left=dot[0]-dot[2]<0?dot[0]:dot[2];
 var top=dot[1]-dot[3]<0?dot[1]:dot[3];
 //创建div
 var div=document.createElement("div");
 div.innerHTML=' <div id="line_div" style="width:'+width+'px;height:'+height+'px;position:absolute;visibility:visible;left:'+left+'px;top:'+top+'px;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;"></div>';
 document.body.appendChild(div);
 }
} 
-->
</script>
<body>
</body>
</html>

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

Javascript 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
extjs fckeditor集成代码
May 10 Javascript
js 操作select相关方法函数
Dec 06 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
AngularJS学习笔记之依赖注入详解
May 16 Javascript
Javascript基础回顾之(三) js面向对象
Jan 31 Javascript
JS实现标签页切换效果
May 04 Javascript
Django+Vue实现WebSocket连接的示例代码
May 28 Javascript
Vue 2.0 侦听器 watch属性代码详解
Jun 19 Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 Javascript
vue实现表单录入小案例
Sep 27 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
jquery简单实现图片切换效果的方法
May 12 #Javascript
浅谈javascript的分号的使用
May 12 #Javascript
JS中Location使用详解
May 12 #Javascript
js获取微信版本号的方法
May 12 #Javascript
javascript中基本类型和引用类型的区别分析
May 12 #Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
May 12 #Javascript
Javascript中typeof 用法小结
May 12 #Javascript
You might like
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php实现的农历算法实例
2015/08/11 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
webpack3之loader全解析
2017/10/26 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
Python守护进程用法实例分析
2015/06/04 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
公司承诺书格式范文
2015/04/28 职场文书
2015年科协工作总结
2015/05/19 职场文书
小学大队委竞选口号
2015/12/25 职场文书
车辆挂靠协议书
2016/03/23 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js