js版的虚线框
要求:实现鼠标点击面板的一个点,拖动到固定的位置,出现虚线框
样图:

<script>
window.onload = function(){
document.onmousedown=function(ev){
var oEvent=ev||event; /*检测id为createDiv的div框是否存在,存在就删除*/
if(document.getElementById("createDiv")!=null){
document.body.removeChild(document.getElementById("createDiv"));
}
//鼠标点击(down)的初始位置X,Y
var startX = oEvent.clientX;
var startY = oEvent.clientY; console.log("startX:"+startX);
console.log("startY:"+startY); document.onmouseup = function(ev){
//鼠标拿起(up)时,的具体坐标
console.log("endX:"+ev.clientX);
console.log("endY:"+ev.clientY); //创建div的width、height
var widX = ev.clientX - startX;
var heiY = ev.clientY - startY; createDiv(startX,startY,widX,heiY);
}
} } //动态创建div
function createDiv(startX,startY,widthX,heightY){
var oDiv=document.createElement('div');
oDiv.setAttribute("id","createDiv");
oDiv.style.left=startX+'px'; // 指定创建的DIV在文档中距离左侧的位置
oDiv.style.top=startY+'px'; // 指定创建的DIV在文档中距离顶部的位置
oDiv.style.border='1px dashed red'; // 设置边框
oDiv.style.position='absolute'; // 为新创建的DIV指定绝对定位
oDiv.style.width=widthX+'px'; // 指定宽度
oDiv.style.height=heightY+'px'; // 指定高度
document.body.appendChild(oDiv);
}
</script>
解析:
1.在页面onload的时候,就监听鼠标的onmousedown和onmouseup时间
2.在onmousedown时记录鼠标的初始位置
3.这里要注意,在onmousedown事件中,需要监听一下onmouseup事件。在onmouseup事件中,创建div框
js版的虚线框的更多相关文章
- js去除热点的虚线框
1.一个页面有多张图片,图片的链接为热点绘制,在ie中点击会出现虚线框. <script type="text/javascript"> window.onload = ...
- css去掉a标签点击后的虚线框
outline是css3的一个属性,用的很少. 声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有 ...
- css去掉a标签点击后的虚线框(转自网络)
outline是css3的一个属性,用的很少. 声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有 ...
- a标签点击后的虚线框问题
以前一直用的方法都是: a {outline: none;star:expression(this.onFocus=this.blur());} 后来发现有瑕疵,不完美.体现在页面调用JS动作比较频繁 ...
- 【工作笔记四】去掉a标签超链接的虚线框的方法
a{ blr:expression(this.onFocus=this.blur()); /* IE Opera */ outline:none; /* FF Opera */ } a:focus{ ...
- IE去掉链接虚线框的几个方法
虚线框简直就是个多余的东西,上一篇教大家怎么去除Firefox中链接和按钮虚线框,今天叫大家去掉去除IE中链接的虚线框.方法一:利用javascript的onfocus事件,实现如下:Html代码 & ...
- css去掉a标签点击后的虚线框,outline,this.blur()
css去掉a标签点击后的虚线框,outline,this.blur() outline是css3的一个属性,用的很少.声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outl ...
- 去掉A标签的虚线框
outline是css3的一个属性,用的很少. 声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有 ...
- 取消a或input标签聚焦后出现虚线框
1:在a标签里加入js控制,当a标签被聚焦时,强制取消焦点,这时候a标签自然不会有虚线框. <a href="#" onfocus="this.blur();&qu ...
随机推荐
- SQL语句复习【专题九】
SQL语句复习[专题九] 视图:View视图的概念:视图是从若干基本表或其他视图构造出来的表.在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据在用户使用视 ...
- C# Winform 带水印提示输入框
using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms ...
- datePicker 及 timePicker Diolage弹出对话框式 比较好看的 监听事件
DatePickerDialog 的监听 new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { @Override ...
- java 如何读取src根目录下的属性文件
在java项目中,如何获取src根目录下的属性文件/资源文件呢? 有如下三种方式: 方式一: InputStream in = Test.class .getResourceAsStream(&quo ...
- Android基础相关面试问题-binder面试问题详解
Linux内核的基础知识: 进程隔离/虚拟地址空间:在操作系统中为了保护某个进程互不干扰就设计了一个叫“进程隔离”的技术,防止进程A可以操作进程B的数据.而进程隔离技术用到了虚拟地址空间,进程A的虚拟 ...
- ClassLoader心得
我们都知道,jvm执行的代码,都是通过jvm加载系统加入的.加载系统的第一步是通过ClassLoader加载class二进制信息,jvm规范中并没有规定class的来源类型,这就给 ...
- IQ基础
I: in-phase 表示同相Q: quadrature 表示正交,与I 相位差90 度. 现在来解释IQ信号的来源: 最早通讯是模拟通讯,假设载波为cos(a),信号为cos(b),那么通过相 ...
- (四) 结构化查询语言SQL——2
3)ORDER BY排序语句 通常,查询的结果是以无序的方式显示的,有时需要将查询结果按照一定次序来进行排序.ORDER BY就可以用上了,例如查询课程号为202的课程成绩的所有信息,并按照成绩降序排 ...
- Promise中有多个resove
return new Promise((resolve, reject) => { resolve({ status: }) if (true) { resolve({ status: }) } ...
- PHP内置常量,和可变变量,常量的定义
关键常量 可变变量----变量名是变量的变量 常量的定义