Felix的英文翻译:
我想创建一个跟随鼠标光标的菜单,如果光标距离它一定距离则停止移动。到目前为止我的解 我创建了两个嵌套的div。在内部div包含菜单。外部div用于停止菜单。如果光标在外部div上移动,只要光标悬停在它上面,内部div就应该停止并保持不变。 *编辑:菜单应该轻柔但很快停止。
原文德语:
ichmöchteeinMenüerstellen与beinen Mauszeiger verfolgt und inbestimmternäheinshenbleibt。 MeinLösungsansatz是folgender: Ich baue 2 ineinander verschachtelte DIVs。 Im inneren DIV istdasMenüvorhanden。 DasäußereDivist zum stoppen da。此外,还有一些名为“ußere”的电子邮件,电子邮箱版权所有DIV stark abbremsen und stehen bleiben,solange ich drin bin。
Hier mein derzeitiger Code(fw's:jQuery):
var div = jQuery("<div id='menubox'><div id='innerdiv'> </div></div>").appendTo("body");
var mouseX = 300, mouseY = 300;
jQuery(document).mousemove(function (el) {
if (onMenu == false) {
mouseX = el.pageX;
mouseY = el.pageY;
}
});
jQuery('#menubox').mouseenter(function (el) {
onMenu = true;
stopMoving();
}).mouseleave(function (el) {
onMenu = false;
startMoving();
});
var xp = 0, yp = 0;
function stopMoving() {
clearTimeout(timer);
timer = setTimeout(function () {
clearInterval(loop);
}, 100);
}
function startMoving() {
clearTimeout(timer);
clearInterval(loop);
loop = setInterval(function () {
xp += (mouseX - xp) / 20;
yp += (mouseY - yp) / 20;
jQuery('#menubox').css({ left: xp, top: yp });
}, 40);
}
startMoving(); // StartMoving on Page Load
*编辑:我有一个IE Bug。我不得不在外部div放置一个透明的gif。现在这个功能还可以。如果im在外部或内部div中,div不会移动,但它不会很快停止。应该停止非常柔软和快速,不要移动,即200px,而不是使用clearIntervall()停止或停止。我应该再制作一个计时器吗?