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 相关文章推荐
prototype 学习笔记整理
Jul 17 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
Jquery异步提交表单代码分享
Mar 26 Javascript
三种方式实现瀑布流布局
Feb 10 Javascript
纯js仿淘宝京东商品放大镜功能
Mar 02 Javascript
详解vue挂载到dom上会发生什么
Jan 20 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
Apr 02 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
Javascript的promise,async和await的区别详解
Mar 24 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写的serv-u的web申请账号的程序
2006/10/09 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
vue.js的提示组件
2017/03/02 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
详解Python中dict与set的使用
2015/08/10 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
个人自我鉴定范文
2013/10/04 职场文书
安全资金保障制度
2014/01/23 职场文书
学习决心书
2014/03/11 职场文书
中队活动总结
2014/08/27 职场文书
简历中自我评价范文
2015/03/11 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
辩护词格式
2015/05/22 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书