我有一个脚本,在悬停时显示div并将其粘贴到光标。

$(".picture_holder_thumb").mouseover(function () {
    $(".title", this).show();
});

$(".picture_holder_thumb").mouseout(function () {
    $(".title", this).hide();
});
$(document).bind('mousemove', function (e) {
    $(".title", this).css({
        left: e.pageX,
        top: e.pageY
    });
});

它可以工作,但是不干胶标签和光标之间总会有很大的距离。

这是我的Div的CSS:
#img-container .captioning .title {
    width: auto;
    height:auto;
    position: absolute;
    float:left;
    z-index:1;
    display: none;
}

我的JS出问题了吗?感谢您的帮助!

在这里,您可以看到它存在的问题:http://www.cyrill-kuhlmann.de/index.php/projects

这是我从http://jsfiddle.net/hj57k/获得JS的示例 fiddle

最佳答案

这是一个很好的纯javascript,并且是使div停留在光标指针上的简便方法。
我们也可以删除CSS,并以相同的方式使用javascript进行所有样式设置:


document.addEventListener('mousemove', function(ev){
    document.getElementById('acab').style.transform = 'translateY('+(ev.clientY-80)+'px)';
    document.getElementById('acab').style.transform += 'translateX('+(ev.clientX-100)+'px)';
},false);
#acab {
  position: fixed; /* Floating above */
  transition: transform 0.23s; /* Sticking effect */
  pointer-events: none; /* Allow clicking trough the div */
}
<div id="acab">
  <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Anarchist_black_cat.svg/150px-Anarchist_black_cat.svg.png">  </img>
</div>

<!-- A button, to test a mouse click -->
<button onclick="document.body.style.background=['red','green','grey','purple','magenta'][~~(Math.random()*5)]">Test click!</button>

关于javascript - 如何让Div停留在光标上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25934817/

10-09 06:27
查看更多