Javascript 用鼠标移动div,其内容可点击?
我有一个随鼠标光标移动的Div。在DIV中,我有两个链接,我也想单击它们,但DIV是可移动的,它会随着鼠标移动,因此当我想单击链接(在该DIV中)时,DIV会远离光标 我的代码:Javascript 用鼠标移动div,其内容可点击?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个随鼠标光标移动的Div。在DIV中,我有两个链接,我也想单击它们,但DIV是可移动的,它会随着鼠标移动,因此当我想单击链接(在该DIV中)时,DIV会远离光标 我的代码: <div class="myDiv"> Click to View<br> <a href="#linkA">Link A</a><br> <a href="#linkB">Link B</a> </div>
<div class="myDiv">
Click to View<br>
<a href="#linkA">Link A</a><br>
<a href="#linkB">Link B</a>
</div>
$(document).bind('mousemove', function(e){
$('.myDiv').css({
left: e.pageX + 50,
top: e.pageY
});
});
单击以查看
$(document).bind('mousemove',函数(e){
$('.myDiv').css({
左:e.pageX+50,
顶部:e.pageY
});
});
很抱歉我的代码不可读,但它可能会给你一个想法
var cursorPos = {
x: 0,
y: 0,
offset: 50
};
$(document).bind('mousemove', function(e){
var myDiv = $(".myDiv"),
myDivData = {
width: myDiv.innerWidth(),
height: myDiv.innerHeight(),
posX: myDiv.offset().left,
posY: myDiv.offset().top,
};
// Check if the cursor is out of a given area
if (!((e.pageX >= (myDivData.posX - cursorPos.offset) && e.pageX <= (myDivData.posX + myDivData.width + cursorPos.offset)) &&
(e.pageY >= (myDivData.posY - cursorPos.offset) && e.pageY <= (myDivData.posY + myDivData.height + cursorPos.offset)))
) {
// Check if it moved horizontally
if (e.pageX > (myDivData.posX + myDivData.width)) {
myDiv.css({
left: (e.pageX - myDivData.width - cursorPos.offset),
});
}
else if (e.pageX < myDivData.posX)
myDiv.css({
left: e.pageX + cursorPos.offset,
});
// Check if it moved vertically
if (e.pageY > (myDivData.posY + myDivData.height))
myDiv.css({
top: (e.pageY - myDivData.height - cursorPos.offset)
});
else if (e.pageY < myDivData.posY)
myDiv.css({
top: e.pageY + cursorPos.offset
});
}
cursorPos.x = e.pageX;
cursorPos.y = e.pageY;
});
var cursorPos={
x:0,,
y:0,
抵销:50
};
$(document).bind('mousemove',函数(e){
var myDiv=$(“.myDiv”),
myDivData={
宽度:myDiv.innerWidth(),
高度:myDiv.innerHeight(),
posX:myDiv.offset().left,
posY:myDiv.offset().top,
};
//检查光标是否超出给定区域
如果(!((e.pageX>=(myDivData.posX-cursorPos.offset)和&e.pageX=(myDivData.posY-cursorPos.offset)和&e.pageY(myDivData.posX+myDivData.width)){
myDiv.css({
左:(e.pageX-myDivData.width-cursorPos.offset),
});
}
else if(e.pageX(myDivData.posY+myDivData.height))
myDiv.css({
顶部:(e.pageY-myDivData.height-cursorPos.offset)
});
else if(例如pageY
选中此项您真正想要的行为是什么?当鼠标光标移动到DIV的方向时,“mousemove”行为停止。需要在DIV周围定义一个区域,所以当光标位于该区域时,可移动的行为停止,光标进入该DIV并单击链接。离开该区域后,DIV应再次随光标移动。类似的内容?@nevermind谢谢,很好。但不完全是这样,实际上我希望DIV 50px位于光标后面,当cursor靠近DIV的区域,DIV停止移动。光标单击链接并离开DIV区域,但当光标越过50像素的距离时,DIV再次开始追逐它。嗨@nersoh,先生,请看我的演示,我想在其中添加过渡或平滑效果。