jQuery鼠标跟随左侧浮动菜单是一种常见的网页交互效果,通过监听鼠标移动事件,动态调整菜单的位置,使其始终跟随鼠标指针。这种效果可以提升用户体验,使用户能够更方便地与菜单进行交互。
以下是一个简单的jQuery鼠标跟随左侧浮动菜单的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery鼠标跟随左侧浮动菜单</title>
<style>
#floatingMenu {
position: absolute;
left: 0;
top: 0;
background-color: #f1f1f1;
padding: 10px;
border: 1px solid #ccc;
display: none;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="floatingMenu">
<ul>
<li>菜单项1</li>
<li>菜单项2</li>
<li>菜单项3</li>
</ul>
</div>
<script>
$(document).ready(function() {
$(document).mousemove(function(event) {
var mouseX = event.pageX;
var mouseY = event.pageY;
$('#floatingMenu').css({
top: mouseY + 20,
left: mouseX - $('#floatingMenu').width() - 20
}).show();
});
$(document).mouseleave(function() {
$('#floatingMenu').hide();
});
});
</script>
</body>
</html>
var timeout;
$(document).mousemove(function(event) {
clearTimeout(timeout);
$('#floatingMenu').show();
timeout = setTimeout(function() {
var mouseX = event.pageX;
var mouseY = event.pageY;
$('#floatingMenu').css({
top: mouseY + 20,
left: mouseX - $('#floatingMenu').width() - 20
});
}, 100);
});
$(document).mouseleave(function() {
clearTimeout(timeout);
$('#floatingMenu').hide();
});
$(document).mousemove(function(event) {
var mouseX = event.pageX;
var mouseY = event.pageY;
var menuWidth = $('#floatingMenu').width();
var menuHeight = $('#floatingMenu').height();
var newLeft = mouseX - menuWidth - 20;
var newTop = mouseY + 20;
if (newLeft < 0) {
newLeft = 0;
}
if (newTop + menuHeight > $(window).height()) {
newTop = $(window).height() - menuHeight;
}
$('#floatingMenu').css({
top: newTop,
left: newLeft
}).show();
});
通过以上方法,可以有效解决鼠标跟随菜单过程中遇到的一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云