执行期间暂停 jQuery 效果

发布于 2024-12-26 01:34:42 字数 117 浏览 4 评论 0原文

我的网站有一些图标在鼠标悬停时会发光,但我希望它在没有人悬停时随机发光。

现在我有正确的代码片段,可以使其随机发光并在悬停时发光,但如何在人将鼠标悬停在图标上后停止并恢复随机发光。

谢谢。

My website has some icons that glows on mouse over but I want it to glow randomly when no one is hovering.

Right now I have the correct piece of codes that will make it randomly glow and glow on hover but how to make the random glow stop and resume after a person has hovered over the icons.

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自演自醉 2025-01-02 01:34:43

由于您没有提供太多信息,这就是我想要做的:

  1. 创建一个使图标发光的函数
  2. 创建另一个在随机图标上调用发光函数的函数
  3. 创建一个计时器(间隔)以按照设定的时间间隔继续调用 randomGlow 函数
  4. 为图标附加一个 mouseenter 事件,以便在触发时,它会清除计时器并仅在该图标上调用发光。当鼠标移开时,它会启动一个新的计时器。 (定时器是全局的)

Since you haven't provided much information, this is what I would think of doing:

  1. Create a function that glows an icon
  2. Create another function that calls glow function on random icons
  3. Create a timer(Interval) to keep calling randomGlow function at a set interval
  4. Attach a mouseenter event for the icon such that, when fired, it would clear the timer and call glow on that icon only. And when mouseout, it starts a new timer. (timer is global)
戏舞 2025-01-02 01:34:43

您可以使用 .stop() 停止任何现有效果。

然而,一旦您的悬停启动的附加效果完成,就没有任何方法可以恢复这些效果。

您必须在第二个 .hover() 回调中重新启动“随机”发光。

编辑可能是可能的,但这未经测试:

  1. 调用.queue()来获取当前的动画队列,并复制结果
  2. 调用< code>.stop() 删除
  3. .hover() 的“out”函数中的新动画的
  4. 所有内容,重新设置上面 #1 中的排队项目

You can use .stop() to cease any existing effects.

However there isn't (AFAIK) any way to resume those effects once the additional effects started by your hover have finished.

You'd have to restart your "random" glowing in the second .hover() callback.

EDIT it may be possible, but this is untested:

  1. call .queue() to get the current animation queue, and copy the results
  2. call .stop() to remove all those
  3. do your new animations
  4. in .hover()'s "out" function, re-instate the queued items from #1 above
半夏半凉 2025-01-02 01:34:43

您可以在发光之前检查它们的图标是否发光:

$('.icon').hover(function() {
    $(this).stop(true, true);
    $(this).toggleClass('glow', true);
}, function() {
    $(this).stop(true, true);
    $(this).toggleClass('glow', false);
});

function randomglow(icon) {
    if (!$(icon).hasClass('glow')) {
        //your glow code here
    }
}

You can check to see if they icon is glowing before you glow it:

$('.icon').hover(function() {
    $(this).stop(true, true);
    $(this).toggleClass('glow', true);
}, function() {
    $(this).stop(true, true);
    $(this).toggleClass('glow', false);
});

function randomglow(icon) {
    if (!$(icon).hasClass('glow')) {
        //your glow code here
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文