悬停时随机移动按钮: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.innerHeightWindow.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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

悬停UWP时更改按钮颜色[重复]

是否可以使用 Javascript 在页面刷新时随机生成预先确定的链接颜色和悬停颜色?

当您使用 javascript 或 jquery 将鼠标悬停时,如何使图像或按钮发光?

Javascript:div内的元素:悬停时突出显示高度[重复]

如何在悬停时定位先前的兄弟姐妹? [重复]

问题:单击关闭按钮会使下方的移动菜单按钮处于悬停状态