请问如何控制div在鼠标处显示

jthkl 2015-08-27 07:38:58
我想将div隐藏起来,在用户点击一个文本框或者一个按钮后根据鼠标位置在旁边显示相应内容,就像拼音输入法的提示一样,位置跟着鼠标(光标)走,请问如何做到?

另外就是是否也可以获得文本框或按钮的位置,然后在相应位置显示?但是由于是居中的,所以根据屏幕分辨率,控件的绝对位置是会变化的。
...全文
346 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzgjames 2015-08-27
  • 打赏
  • 举报
回复
1.设置div为绝对定位,position:absolute 2.给文本框或者按钮绑定点击事件 传入事件对象event,据此获取鼠标的位置event.top、event.left,将div的偏移位置设置为鼠标位置,为了显示效果,可以适当加个小的偏移量5px。
qq137051908 2015-08-27
  • 打赏
  • 举报
回复
设置要显示的div基于body绝对定位,要显示的时候获取事件源取鼠标坐标然后设置div的left top值
DaveLeeCN 2015-08-27
  • 打赏
  • 举报
回复
点击文本框的时候给页面绑定mousemove事件,在鼠标位置显示悬浮的div,至于获得元素的位置,直接百度
jthkl 2015-08-27
  • 打赏
  • 举报
回复
引用 3 楼 yzgjames 的回复:
1.设置div为绝对定位,position:absolute 2.给文本框或者按钮绑定点击事件 传入事件对象event,据此获取鼠标的位置event.top、event.left,将div的偏移位置设置为鼠标位置,为了显示效果,可以适当加个小的偏移量5px。
谢谢。在网上找到了如下代码,用的正是你说的方法,粘贴出来给大家分享

/*
 * write by waitingbar
 * time 20121002
 *
 */
 
var x , y;

//当需求为获得的坐标值相对于body时,用:
function positionBody(event){
	event = event||window.event;
	//获得相对于body定位的横标值;
	x=event.clientX
	//获得相对于body定位的纵标值;
	y=event.clientY
}



//应用:
document.onmousemove = function(event){
	positionBody(event);
	document.getElementById("x").innerHTML = "x= " + x + "px";
	document.getElementById("y").innerHTML = "y= " + y + "px";
}

87,942

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧