我目前拥有一个分类下拉菜单,当用户悬停在主分类上时,会加载子分类。
<div class="all-categories">
<li><a href="#">Category 1</a></li>
<li><a href="#">Category 2</a></li>
<li><a href="#">Category 3</a></li>
// More categories here
</div>
我想要创建一个安全区域,以避免下拉菜单的不必要更改,类似于亚马逊的做法。
我目前正在使用以下函数来跟踪鼠标悬停在“.all-categories”上时的位置:
function handleMouseMove(event) {
var eventDoc, doc, body;
event = event || window.event; // IE-ism
// If pageX/Y aren't available and clientX/Y are,
// calculate pageX/Y - logic taken from jQuery.
// (This is to support old IE)
if (event.pageX == null && event.clientX != null) {
eventDoc = (event.target && event.target.ownerDocument) || document;
doc = eventDoc.documentElement;
body = eventDoc.body;
event.pageX = event.clientX +
(doc && doc.scrollLeft || body && body.scrollLeft || 0) -
(doc && doc.clientLeft || body && body.clientLeft || 0);
event.pageY = event.clientY +
(doc && doc.scrollTop || body && body.scrollTop || 0) -
(doc && doc.clientTop || body && body.clientTop || 0 );
}
// Use event.pageX / event.pageY here
console.log(event.pageX + ", " + event.pageY);
}
jQuery(document).ready(function () {
document.querySelector(".all-categories").onmousemove = handleMouseMove;
});
现在,我该如何从我的光标位置创建一个三角形,使其连接到
.all-categories
div 的右上角和右下角?非常感谢您的帮助。 :)