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 相关文章推荐
jquery 1.3.2 IE8中的一点点的小问题解决方法
Jul 10 Javascript
Tab页界面,用jQuery及Ajax技术实现
Sep 21 Javascript
javascript 命名规则 变量命名规则
Feb 25 Javascript
niceTitle 基于jquery的超链接提示插件
May 31 Javascript
javascript 事件处理程序介绍
Jun 27 Javascript
js Array对象的扩展函数代码
Apr 24 Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
跟我学习javascript的作用域与作用域链
Nov 19 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
Apr 12 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/06/01 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
php集成开发环境详解
2019/09/24 PHP
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
python实现简单井字棋小游戏
2020/03/05 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
开业典礼致辞
2015/07/29 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis