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 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
jQuery 扩展对input的一些操作方法
Oct 30 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
Feb 06 Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
Vue2.x中的Render函数详解
May 30 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
如何解决日期函数new Date()浏览器兼容性问题
Sep 11 Javascript
vue如何实现动态加载脚本
Feb 05 Javascript
package.json中homepage属性的作用详解
Mar 11 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
PHP mkdir()定义和用法
2009/01/14 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
javascript 特殊字符串
2009/02/25 Javascript
javascript Keycode对照表
2009/10/24 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
python 把列表转化为字符串的方法
2018/10/23 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
学习雷锋倡议书
2014/04/15 职场文书
创建青年文明号材料
2014/05/09 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
自荐信模板大全
2015/03/27 职场文书
2016高考寄语集锦
2015/12/04 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
redis限流的实际应用
2021/04/24 Redis
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js