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 相关文章推荐
Ruffy javascript 学习笔记
Nov 30 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
Aug 11 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
Jan 18 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
微信小程序使用map组件实现解析经纬度功能示例
Jan 22 Javascript
es6数值的扩展方法
Mar 11 Javascript
JS实现扫码枪扫描二维码功能
Jan 03 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
2014/10/24 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
入党积极分子自我鉴定
2014/02/18 职场文书
档案工作个人总结
2015/03/03 职场文书
求职简历自我评价范文
2015/03/10 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
体检通知范文
2015/04/21 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python