用javascript实现鼠标框选

起初是打算兼容 Netscape 和 FireFox 等浏览器的,但这些浏览器中不支持 style.pixelLeft,得使用 style.left 之类的(style.pixelLeft 为数字无单位,style.left 为文本有单位),实际使用中发现效果很不好,有延迟状,所以还是使用 style.pixelLeft,缺点是仅支持 IE 系列浏览器。

鼠标框选框

document.body.clientWidth || event.clientY>document.body.clientHeight)
{
return;
}

startPointX = document.body.scrollLeft + event.clientX;
startPointY = document.body.scrollTop + event.clientY;

box.style.pixelLeft = startPointX;
box.style.pixelTop = startPointY;
box.style.pixelWidth = 0;
box.style.pixelHeight = 0;
box.style.display = "block";
boxWorking = true;
}

//改变鼠标框选框大小
function ResizeBox()
{
//必须要先按下鼠标左键或右键
if (!boxWorking)
{
return;
}

var endPointX = document.body.scrollLeft + event.clientX;
var endPointY = document.body.scrollTop + event.clientY;

//鼠标左移还是右移
if (endPointX >= startPointX )
{
box.style.pixelLeft = startPointX;
box.style.pixelWidth = endPointX - startPointX;
}
else
{
box.style.pixelLeft = endPointX;
box.style.pixelWidth = startPointX - endPointX;
}

//鼠标上移还是下移
if (endPointY >= startPointY )
{
box.style.pixelTop = startPointY;
box.style.pixelHeight = endPointY - startPointY;
}
else
{
box.style.pixelTop = endPointY;
box.style.pixelHeight = startPointY - endPointY;
}
}

//鼠标移动结束,隐藏鼠标框选框,设置相关数据
//仅鼠标左键或右键时有效
function EndBox()
{
//鼠标键判断
if (event.button!=1 && event.button!=2)
{
return;
}

box.style.display = "none";
boxWorking = false;
}

document.body.onmousedown= StartBox;
document.body.onmousemove = ResizeBox;
document.body.onmouseup = EndBox;
//-->

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

下面这个只在区域内有效

鼠标框选框

document.body.clientWidth || event.clientY>document.body.clientHeight)
{
return;
}

startPointX = document.body.scrollLeft + event.clientX;
startPointY = document.body.scrollTop + event.clientY;

box.style.pixelLeft = startPointX;
box.style.pixelTop = startPointY;
box.style.pixelWidth = 0;
box.style.pixelHeight = 0;
box.style.display = "block";
boxWorking = true;
}

//改变鼠标框选框大小
function ResizeBox()
{
//必须要先按下鼠标左键或右键
if (!boxWorking)
{
return;
}

var endPointX = document.body.scrollLeft + event.clientX;
var endPointY = document.body.scrollTop + event.clientY;

//鼠标左移还是右移
if (endPointX >= startPointX )
{
endPointX = (endPointX=content.offsetLeft)?endPointX:content.offsetLeft;
box.style.pixelLeft = endPointX;
box.style.pixelWidth = startPointX - endPointX;
}

//鼠标上移还是下移
if (endPointY >= startPointY )
{
endPointY = (endPointY=content.offsetTop)?endPointY:content.offsetTop;
box.style.pixelTop = endPointY;
box.style.pixelHeight = startPointY - endPointY;
}
}

//鼠标移动结束,隐藏鼠标框选框,设置相关数据
//仅鼠标左键或右键时有效
function EndBox()
{
//鼠标键判断
if (event.button!=1 && event.button!=2)
{
return;
}

box.style.display = "none";
boxWorking = false;
}

content.onmousedown= StartBox;
document.body.onmousemove = ResizeBox;
document.body.onmouseup = EndBox;
//-->

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • JavaScript简单实现鼠标拖动选择功能

    复制代码 代码如下: <style><!--body{padding-top:50px;padding-left:100px;padding-right:150px;}  .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #cccccc;margin-right:10px;margin-bottom:10px;} 

  • 用javascript css实现GridView行背景色交替、鼠标划过行变色,点击行变色选中

    加上鼠标点击选择(其实只是点击后变个颜色,"选择"这个词在这里不合适),顺便把这个直接应用到GridView上,如果是其他的控件,或者直接的HTML,稍加修改也可以用上,这里仅提供一个思路.虽然GridView使用AlternatingRowStyle提供了交替行背景色的问题,但这个东西用着实在不爽,看它生成到HTML的那个table,那叫一个乱啊. 下面是代码,注释应该还算比较详细,比较适合初学者,可以把下面两个文件的代码直接复制到你的项目中直接执行.最下面有文件的下载地址,也可以直

  • JS拖动鼠标画出方框实现鼠标选区的方法

    本文实例讲述了JS拖动鼠标画出方框实现鼠标选区的方法.分享给大家供大家参考.具体如下: 相当实用的一个JS技巧,拖动鼠标可画出一个方框,可作为一个选区的功能,可以用来画流程图,设计草图什么的,也可以作为上传头像时裁切选择图片,在头像裁切中使用广泛,鼠标在图片上拖动拉出一个方框,这个方框就代表着选区的功能,目前网页上已流行的一种操作.主要是依赖于JavaScript代码来实现. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT

  • javascript实现鼠标选取拖动或Ctrl选取拖动

    *{position:absolute;} #panel *{border:1px solid gray} /**********判断浏览器**********/ var isIE = false; if(document.all) isIE = true; /*******HashArray*******/ function HashArray(){ this.keyList = new Array(); this.put = function(key, value){ this[key] =

  • 当鼠标滑过文本框自动选中输入框内容的JS代码分享

    复制代码 代码如下: <html><head><title>响应鼠标自动选中文本框内容</title></head><body><input id="a" type="text" value="请输入搜索词" onmouseover="selectInputContent(this.id)"/><script type="tex

  • 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"

  • JS实现鼠标框选效果完整实例

    本文实例讲述了JS实现鼠标框选效果的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; char

  • js实现鼠标点击文本框自动选中内容的方法

    本文实例讲述了js实现鼠标点击文本框自动选中内容的方法.分享给大家供大家参考.具体如下: 这里使用JS实现鼠标点击时自动选中文本框文本的效果,相信许多朋友都遇到这种功能的,就是当我们点击文本框的时候,文本框中默认的文字会被全部选中,这样当你输入的时候不用再去选择,省去了一些麻烦,提高了输入效率,用户肯定会喜欢这功能,那么实现的方法是怎么样呢?通过本代码你就搞明白了. 先来看看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-mouse-click

  • Javascript实现鼠标框选操作 不是点击选取

    本文实例为大家分享了Javascript实现鼠标框选操作,绝不是点击选取,供大家参考,具体内容如下 效果图: 代码: <html> <head></head> <style> body{padding:100px;} .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #ccc;marg

  • Javascript实现鼠标框选操作  不是点击选取

    本文实例为大家分享了Javascript实现鼠标框选操作,绝不是点击选取,供大家参考,具体内容如下 效果图: 代码: <html> <head></head> <style> body{padding:100px;} .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #ccc;marg

  • 用javascript实现鼠标框选

    起初是打算兼容 Netscape 和 FireFox 等浏览器的,但这些浏览器中不支持 style.pixelLeft,得使用 style.left 之类的(style.pixelLeft 为数字无单位,style.left 为文本有单位),实际使用中发现效果很不好,有延迟状,所以还是使用 style.pixelLeft,缺点是仅支持 IE 系列浏览器. 鼠标框选框 document.body.clientWidth || event.clientY>document.body.clientHe

  • 用C# 实现鼠标框选效果的实现代码

    实现步骤: 1.实现整个鼠标框选的几个事件(down.move.up),当鼠标点下记录鼠标框选的起点,鼠标抬起结束操作. 2.以鼠标框选过程中获取的鼠标坐标为基点计算框选的矩形的4点坐标,4点坐标以顺时针方向布点. 3.通过Shape.Path类实现在类上画出此矩形. 代码如下: 复制代码 代码如下: namespace HostDemo { public class HostCanvas : Canvas {  public HostCanvas() {   InitializeCompone

  • OpenCV实现鼠标框选并显示框选区域

    本文实例为大家分享了OpenCV实现鼠标框选并显示框选区域的具体代码,供大家参考,具体内容如下 cvSetImageROI函数(基于给定的矩形设置图像的ROI(感兴趣区域,region of interesting)) void cvSetImageROI(IplImage* image,CvRect rect) 参数: image 图像头,待处理图像 rect ROI 感兴趣区域矩形 cvResetImageROI函数(释放基于给定的矩形设置图像的ROI(感兴趣区域,region of int

  • vue封装一个简单的div框选时间的组件的方法

    前言 新年第一篇文章,记录一下我前段时间封装的一个vue组件吧.技术需要积累,有时间我把我之前写的还不错的组件都开源出来.并尝试vue和react 两种方式的组件封装.今天简单写下鼠标框选div选中效果的封装吧. div框选实现 div框选效果,其实没有什么好的方法,就是获取鼠标事件,根据鼠标的位置,动态创建一个跟随鼠标的div.[注:这种方式需要依赖position的定位方式,一般鼠标事件位置是针对全局的,所以鼠标框选的div 位置的position最好父级元素是根元素的定位.不然,鼠标框选区

  • JavaScript制作简单的框选图表

    故事背景:这几天遇到一个客户,是做会议记录的,每次会议过程中,都会有特定设备记录下讲话人的位置以角度值显示.他给我角度值,让我给他做一个图表来展示每个人的一个大概位置. 客户想到的是用 Echarts 图表来做,我首先想到的也是用 Echarts ,但是思考了他的要求以后,发现就一个简单的框选图表用 Echarts 来做是不是大材小用了,而且还要导入那么多的没用的代码. 于是我想到了用 canvas 画布来仿着做,但又考虑了一下, canvas 操作起来不顺手:究竟可不可以用普通的css结合 j

  • JavaScript模拟文件拖选框样式v1.0的实例

    文件拖选v1.0 图片不清楚时请右键点击"在新链接中打开图片" 实现效果 页面布局 实现思路 拖选框 css样式中设置拖选框样式,注意设置position: absolute;漂浮状态. 监听p#container的鼠标按下事件并获取起始坐标,鼠标按下时通过append()方法添加p#selectBox. 鼠标按下事件后鼠标移动事件,比较鼠标的当前位置event.pageX,event.pageY来为p#selectBox添加坐标top/left 和尺寸width/height. 鼠标

  • JavaScript简单判断复选框是否选中及取出值的方法

    本文实例讲述了JavaScript简单判断复选框是否选中及取出值的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript 获取复选框的值,有朋友在刚开始利用表单提交数据的时候,一般都会遇到表单中有一个特别的元素--复选框,判断它是否选中以及获取它的值 ,好像跟其它的表单元素有点不一样,本代码将为您展示如何获取复选框的值并判断是否被选中. 运行效果如下图所示: 具体代码如下: <title>JavaScript 获取复选框的值</title> <script>

随机推荐