Flash 元素没有 jQueryUI 的开销?

发布于 2024-12-11 09:22:57 字数 250 浏览 0 评论 0原文

我正在阅读这个问题关于如何制作jQuery 中的“flash”元素,但是,最流行的答案依赖于 jQueryUI,如果我需要的只是要制作动画的背景颜色,那么 jQueryUI 相当大,无法包含在项目中。有没有一种方法可以在不使用 jQueryUI 的情况下以类似的方式闪烁元素的背景颜色?

I was reading this question about how to make an element "flash" in jQuery, however, the most popular answers relied on jQueryUI which is pretty large to include in a project if all I need is the backgroundColor to animate. Is there a way to flash an element's background color in a similar manner without using jQueryUI?

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

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

发布评论

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

评论(4

以歌曲疗慰 2024-12-18 09:22:57

您可以编写一个包含 for 循环的函数,每个循环中有一些延迟。在循环的每个周期中,您可以减少/增加颜色值并将其设置为背景。这会产生与 animate 相同的效果。

you can write a function that contains a for loop with some delay in each cycle. In each cycle of the loop, you can decrease/increase the color value and set it as the background. This gives the same effect as that of animate.

我的痛♀有谁懂 2024-12-18 09:22:57

像这样的东西应该有效(我希望)。

function flash($element, times) {
  var colors = ['#fff', '#000'];
  $element.css('background-color', colors[times % colors.length]);
  if (times === 0) return;
  setTimeout(function () {
    flash($element, times - 1);
  }, 500);
}

在这样的元素上使用它:flash($('#some_element'), 5)

Something like this should work (I hope).

function flash($element, times) {
  var colors = ['#fff', '#000'];
  $element.css('background-color', colors[times % colors.length]);
  if (times === 0) return;
  setTimeout(function () {
    flash($element, times - 1);
  }, 500);
}

Use it on an element like this: flash($('#some_element'), 5)

爱要勇敢去追 2024-12-18 09:22:57

一种方法:

setInterval(function(){
  $('#hello').css('background-color', 'red');
}, 100);

setInterval(function(){
  $('#hello').css('background-color', 'green');
}, 150);

DEMO

One way:

setInterval(function(){
  $('#hello').css('background-color', 'red');
}, 100);

setInterval(function(){
  $('#hello').css('background-color', 'green');
}, 150);

DEMO

一直在等你来 2024-12-18 09:22:57

在该页面上的答案中进行了一番搜索后,我发现了一个指向 jQuery 解决方法 的链接,该解决方法允许人们调用函数jQuery 元素上的 .highlight()。虽然需要 jQuery,但不需要 jQueryUI。

After a bit of searching through the answers on that page, I found a link to a jQuery workaround that allows one to call a function .highlight() on a jQuery element. While jQuery is needed, jQueryUI is not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文