JavaScript 实现两点间绘制折线的方法

作者:木棉时间:2026-10-29 09:37:27浏览:606

本文介绍使用JavaScript在网页中绘制两点间折线的实现方法。该功能常用于连连看等小游戏开发,通过监听鼠标事件并在DOM中动态创建带有边框样式的div元素来模拟线条绘制效果,支持向左折线及后续方向扩展。

JavaScript 绘制折线实现概述

本文详细介绍了一种使用JavaScript在网页中绘制两点之间线条的具体实现方式,旨在为相关开发者提供参考与借鉴。

近期为了打发时间,经过反复尝试与思考,构思出开发一个基于JavaScript的连连看游戏作为练习项目。

在连连看游戏中,连接两点之间的线条是最基础的功能之一。目前实现的线条仅支持折线形式,且规定只能向左进行转折;后续将依据连连看中图片的具体坐标位置来动态确定折线的具体方向。

核心代码实现


<!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程序设计思路与代码示例,能对广大开发者有所帮助。

作者最新文章