用JavaScript实现使用鼠标画线的示例代码

 

01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
02 <html xmlns="http://www.w3.org/1999/xhtml"> 
03   
04 <head> 
05 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
06 <title>Untitled 1</title> 
07 <style type="text/css"> 
08 .style1 { 
09   font-size: x-small; 
10
11 </style> 
12 <script type="text/javascript"> 
13 /**
14   画点
15 */  
16 function makedot(x, y){ 
17  pointDiv = "<div style='height:1px;position:absolute;left:" + x +
18    "px;top:" + y + "px;width:1px;background:#f00;overflow:hidden'></div>"; 
19  return pointDiv;
20
21 /** 
22  根据两点坐标画直线。 
23 */ 
24   
25 function line(x1,y1,x2,y2){ 
26  var slope; //斜率
27  var direction;//坐标运动方向
28  var tx = x2 - x1;
29  var ty = y2 - y1;
30  if(tx == 0 && ty == 0)return;
31  var points = "";
32  var axis;//坐标轴上的坐标
33  if(Math.abs(tx) >= Math.abs(ty)){//在x轴上移动
34    direction = tx > 0 ? 1 : -1;
35    tx = Math.abs(tx);
36    slope = ty / tx;
37    axis = x1;
38    for(i = 0; i < tx; i ++){
39      points += makedot(axis, y1 + i * slope);
40      axis += direction;
41    }
42       
43  }else{//在y轴上移动
44    direction = ty > 0 ? 1 : -1;
45    ty = Math.abs(ty);
46    slope = tx / ty; 
47    axis = y1;  
48    for(i = 0; i < ty; i ++){
49      points += makedot(x1 + i * slope, axis);
50      axis += direction;
51    }
52  }
53  var container = document.getElementById("container");
54  container.innerHTML += points; 
55
56 var oldPoint = null;
57 //获取鼠标位置
58 function mousePosition(ev){
59   ev = ev || window.event;
60   if(ev.pageX || ev.pageY){
61     return {x:ev.pageX, y:ev.pageY};
62   }
63   var doc = document.documentElement, body = document.body;
64   var pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
65   var pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);    
66   return {x:pageX, y:pageY};
67 }
68   
69 function recordPoint(ev){
70     
71   var point = mousePosition(ev);
72   if(oldPoint != null){
73     line(oldPoint.x, oldPoint.y, point.x, point.y);
74   }
75   oldPoint = point;
76 }
77 </script>
78 </head> 
79   
80 <body> 
81 <div id="container" style="width: 1000px; height: 600px; border:1px #bfbfbf solid;" onclick="recordPoint(event);">
82     
83 </div>
84 <script type="text/javascript"> 
85   //line(19,19,22,300); 
86 </script>  
时间: 2024-08-31 16:16:33

用JavaScript实现使用鼠标画线的示例代码的相关文章

c++-请教一个MFC函数里鼠标画线的问题

问题描述 请教一个MFC函数里鼠标画线的问题 void C3Dlg::OnMouseMove(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if (nFlags == MK_LBUTTON) { dc->MoveTo(pt); dc->LineTo(point.x , point.y ); } pt = point; CDialogEx::OnMouseMove(nFlags, point); } 请问下这个程序如果把 P

javascript获取URL参数与参数值的示例代码

 本篇文章主要是对javascript获取URL参数与参数值的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <script>                   function goto_url(url){                       var new_url = "http://shop.usteel.com/index.php?app=list_release";                       var d_

javascript实现的鼠标链接提示效果生成器代码_javascript技巧

  演 示 源 代 码   <a href="http://" onMouseOver="showtip2(this,event,'')" onMouseOut="hidetip2()"></a> 链接注释 注释:放在<body>与</body>之间 <script> if (!document.layers&&!document.all) event="tes

jquery实现鼠标拖动图片效果示例代码

 鼠标拖动图片的效果想必大家都有见到过吧,其实实现起来很简单的,下面使用query来实现下,感兴趣的朋友不要错过  代码如下: <!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/199

html中的javascript 全选/取消全选操作示例代码

全选/取消全选在批量操作数据时经常会使用到,下文有个不错的示例使用js完成全选/取消全选操作,感兴趣的朋友可以参考下     复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="tex

javascript获取下拉列表框当中的文本值示例代码

需要将用户点击下拉列表当中某个选项后,将其所选的内容保存起来,下面与大家分享下如何使用js获取下拉列表框文本值,由此需求的朋友可以参考下   近日碰到一个问题,就是需要将用户点击下拉列表当中某个选项后,将其所选的内容保存起来,例如下面的HTML代码: 复制代码 代码如下: <select onchange="isSelected(this.value);" id="city"> <option value="1">北京&l

JavaScript获取当前页面上的指定对象示例代码

 这篇文章主要介绍了JavaScript获取当前页面上指定对象的方法,需要的朋友可以参考下 JavaScript如何获取当前页面上的指定对象.    方法如下:   代码如下: document.getElementById(ID) //获得指定ID值的对象  document.getElementsByName(Name) //获得指定Name值的对象数组  document.all[] //很智能的东东 不过非WEB标准  document.getElementsByTagName //获得

javascript计算当月剩余天数(天数计算器)示例代码_javascript技巧

代码如下: 复制代码 代码如下: <script language="JavaScript"> <!-- Beginvar today = new Date();var now = today.getDate();var year = today.getYear();if (year < 2000) year += 1900; // Y2K fixvar month = today.getMonth(); var monarr = new Array(31, 2

JavaScript中cookie工具函数封装的示例代码_javascript技巧

一. 语法 1.1 获取当前页面的所有cookie: var allCookies = document.cookie; allCookies 是一个字符串,其中包含了以分号分隔的cookie列表字符串 (即 key=value 键值对). 1.2 写一个新cookie: document.cookie = updatedCookie; updatedCookie是一个键值对形式的字符串.只能用这个方法一次设置或更新一个cookie,而且写入并不是覆盖,而是添加.例如: document.coo