
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
var domType = '';
if (documentall) {
domType = "ie4";
} else if (documentgetElementById) {
domType = "std";
} else if (documentlayers) {
domType = "ns4";
}
function initMouseMove(){
if(!documentall){
documentcaptureEvents(EventMOUSEMOVE);
}
documentonmousemove = mouseMove;
}
function mouseMove(e){
var x,y;
if(!documentall){
fetch_object("txt")value="move";
//fetch_object("txt2")value="move";
x=epageX;
y=epageY;
}else{
x=documentbodyscrollLeft+eventclientX;
y=documentbodyscrollTop+eventclientY;
//z=documentalllinks[0]outerHTML;
}
links=documentalltags("A");
//documentwrite("<font size='2'>"+links[0]outerHTML+"</font><br>")
fetch_object("txt")value=x+":"+y;
//fetch_object("txt2")value=documentlinksinnerText;
}
var objects=new Array();
function fetch_object(idname, forcefetch) {
if (forcefetch || typeof(objects[idname]) == "undefined") {
switch (domType) {
case "std": {
objects[idname] = documentgetElementById(idname);
}
break;
case "ie4": {
objects[idname] = documentall[idname];
}
break;
case "ns4": {
objects[idname] = documentlayers[idname];
}
break;
}
}
return objects[idname];
}
-->
</script>
<title>get mouse position</title>
</head>
<body onload="initMouseMove()">
鼠标位置:<input id="txt"/>
链接地址:<input id="txt2"/>
<br>
(暂时没有找到如何获取鼠标当前所指向的链接地址的方法)
<br>
<br>
<a href="dd" >abc</a>
<a href="11">123</a>
</body>
</html>
复制以上代码。
暂时没有找到如何获取鼠标当前所指向的链接地址的方法,不好意思。
和楼主提出的问题类似有:
>
分析该过程,可拆分成两个步骤:
该布局基于 element-ui,一个父容器 box,里面一个 mask div,一个 el-checkbox-group 块。其中父容器设置 position: relative; 子 mask 容器设置 position: absolute;并且其宽、高、偏移值根据鼠标当前位置动态计算
该部分逻辑实际上可拆分为 4 个步骤:
1 给 box 绑定 mousedown 事件
2 mousemove 事件,比较简单,只是更新 end_x,end_y 坐标
3 mouseup 事件,移除 mousemove、mouseup 事件,并调用判断方法
4 处理框选逻辑
难点是如何判断元素是否被框选住
问题可转化为 框选矩形是否与 checkbox 矩形 相交或者包含在内,即 两矩形是否相交或者存在包含关系
假定矩形 A1 左上角坐标为 (x1,y1);矩形宽度为 width1,高度为 height1;
假定矩形 A2 左上角坐标为 (x2,y2);矩形宽度为 width2,高度为 height2;
画图分析,只看水平方向:
由图可以得出,x 方向上:
令 maxX = Mathmax(x1 + width1, x2 + width2)
令 minX = Mathmax(x1, x2)
若相交或包含则必满足: maxX - minX <= width1 + width2;
同理可以容易得到 y 轴相交的判断
使用 ElementgetBoundingClientRect()获取 dom 元素位置信息
该部分逻辑如下,比较简单
难点已经攻破,遍历 checkbox 集合,每个 checkbox 都执行上面的矩形相交判断,并进行相应的勾选处理,此处不再多累述
源码
END
<script type="text/javascript" src="js/jqueryminjs"></script>
$(document)mousemove(function(e) {
$("#xy")text(epageX + ", " + epageY);
});
以下是我帮你写的 demo 你可以自己在改改 测试其他情况!!!!
<html>
<body>
<script type="text/javascript">
var ikey = 0;
var imouse = 0;
var itime = 60 10;
documentbodyonmousemove = function(){
imouse = 1;
}
documentbodyonkeydown = function(){
ikey = 1;
}
var ierval = windowsetInterval(function(){
if(imouse){
imouse = 0;
windowalert("鼠标移动过");
}
if(ikey){
ikey = 0;
windowalert("键盘敲击过");
}
itime -= 1;
if(itime <= 0){
windowclearInterval(ierval);
}
},1000);
</script>
</body>
</html>
你指的不好用是什么意思? 你是不是想做个 div 鼠标跟随? <html> <head> <script> function time() { var today = new Date(); var h = todaygetHours(); var m = todaygetMinutes(); var s = todaygetSeconds(); if(h<10) h = "0"+h; if(m<10) m = "0"+m; if(s<10) s = "0"+s; documentgetElementById('txt')innerHTML=h+":"+m+":"+s; t = setTimeout('time()',500) } </script> </head> <body onload="time()"> <script> function move() { txtstyleleft = eventclientX-40; txtstyletop = eventclientY+20; } documentonmousemove = move; </script> <div id = "txt" style="position: absolute;"> </div> </body> </html> 你试试这段代码 另外 在firefox下是没有 event对象的 所以 不能再firefox下使用
麻烦采纳,谢谢!
给特定的层注册onomuseover事件,在事件处理函数里用定时器来循环获得
var x,y;
setInterval(function(e){
e = e || windowevent;
x = epageX;
y = epageY;
},1000);处理一下兼容性就好了。
① 如果要在整个document文档中使鼠标光标形状是n-size,可以给document注册mouseover和mousemove事件,并且设置它的样式为cursor:n-size;
②同样地,如果要在拖动某个div使鼠标光标样式为某个形状时,先给div盒子注册拖动事件,拖动事件ondrag,然后设置div的stylecursor = "某个形状样式属性值";
以上就是关于js问题,如何当鼠标停留到某个连接上时获得当前鼠标位置和连接地址,并存入变量全部的内容,包括:js问题,如何当鼠标停留到某个连接上时获得当前鼠标位置和连接地址,并存入变量、js怎样获取对象id值、原生JS 实现框选功能(Vue)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)