悬停时随机移动按钮:Javascript [重复]
Posted
技术标签:
【中文标题】悬停时随机移动按钮:Javascript [重复]【英文标题】:Move button randomly on hover: Javascript [duplicate] 【发布时间】:2021-08-30 15:47:43 【问题描述】:我有一个按钮,我想在悬停时随机移动。我希望它能够在任何地方移动,而不是伪随机,而是真正随机。代码我只让按钮转到右下角。
另外,如果可能的话,如果你能制作一个动画来使动画流畅,那将不胜感激。
document.addEventListener("mouseover", function (event)
x = event.pageX;
y = event.pageY;
div.style.left = x + 35 + "px";
div.style.top = y + 35 + "px";
);
【问题讨论】:
mouseover
事件监听器应该附加到您想要悬停的元素上,而不是整个文档。
将35
替换为Math.random() * 35
之类的,以获得0 到35 之间的随机数。
【参考方案1】:
为mouseover
添加一个事件监听器,然后使用Math.random()
乘以Window.innerHeight
和Window.innerWidth
生成随机坐标:
$('button').on('mouseover', function()
$(this).css(
'top': Math.random() * window.innerHeight + "px",
'left': Math.random() * window.innerWidth + "px"
);
)
button
position: absolute;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Try to click me!</button>
为了流畅,我们可以使用jQuery的animate()
函数:
$('button').on('mouseover', function()
$(this).animate(
'top': Math.random() * window.innerHeight + "px",
'left': Math.random() * window.innerWidth + "px"
, "medium");
)
button
position: absolute;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Try to click me!</button>
【讨论】:
以上是关于悬停时随机移动按钮:Javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 Javascript 在页面刷新时随机生成预先确定的链接颜色和悬停颜色?
当您使用 javascript 或 jquery 将鼠标悬停时,如何使图像或按钮发光?