【问题标题】:How to make an icon flash/blink, which is present in a web page如何使网页中出现的图标闪烁/闪烁
【发布时间】:2020-04-15 22:43:38
【问题描述】:

几天前我开始研究高级 Java(我知道,现在开始研究太晚了)。我被困在使图标(出现在任务栏上)闪烁的特定任务中。这种闪烁应该基于特定条件发生,这意味着可以使用javascript 来实现。

我已经搜索了一段时间,但是有没有办法让图标每隔 1 秒左右出现和消失一次,以带来闪烁效果?

【问题讨论】:

  • 如果您可以在 HTML 中执行,您可以在 JSP 中执行,因此这与 Java、JSP 或(礼貌咳嗽)“高级 Java”没有任何关系 .
  • 标记 adv.java 因为 jsp、javascript 等都在该标题下。
  • JSP 不是特别高级,而 Javascript 是 NOT Java。
  • Javascript 不是 java,这是一个众所周知的事实。我从来没有在任何地方提到过。进阶。 java = jsp+servlets+javascript+...,我们被教过...
  • 代码取决于您想要的确切效果,但最简单的解决方案可能是使用 HTML 和 CSS 将图标放在页面上您想要的位置,然后使用 JavaScript setInterval 函数每隔几毫秒更改一次可见性(即“隐藏”的“可见”)。

标签: javascript html image


【解决方案1】:

HTML

<img src='image/source' alt='blinking!' id='blinking_image' />

Javascript

var img = document.getElementById('blinking_image');

var interval = window.setInterval(function(){
    if(img.style.visibility == 'hidden'){
        img.style.visibility = 'visible';
    }else{
        img.style.visibility = 'hidden';
    }
}, 1000); //the 1000 here is milliseconds and determines how often the interval should be run.

这会在setInterval 内创建一个匿名函数,该函数每 1 秒运行一次(1sec == 1000milisec)。查看更多关于 setInterval checkout the mdn here on it.

每次运行时,它都会检查img 是否为hiddenvisible,如果隐藏则显示,如果可见则隐藏。它通过检查style.visiblity 属性来做到这一点。您可以了解更多关于here on the mdn 的信息。

【讨论】:

  • setInterval 是一个已经定义好的内置函数吗?
  • @AnujBalan 是的,请参阅编辑后的答案。我实际上搞砸了,忘记了window 部分。 setInterval 是分配给全局 window object 的函数。从技术上讲,您不必这样做 window.setInterval,但它确实可以更清楚地了解所调用的内容。
【解决方案2】:

小修复

改为

if(img.display == 'hidden')

使用

if(img.style.visibility == 'hidden')

【讨论】:

    【解决方案3】:

    您可能会发现不透明度效果更好,因为图像仍然存在,这意味着它仍然可以在必要时单击。您也可以添加一个明确的间隔来停止闪烁。

    var mycounter = 0
    interval = window.setInterval(function () {
    if (img.style.opacity == '0.1') {
                img.style.opacity = '1';
    
                mycounter = mycounter + 1
                if (mycounter == 7) {
                    clearInterval(interval);
                }
            } else {
                img.style.opacity = '0.1';
            }
        }, 500); //the 1000 here is milliseconds and determines how often the interval 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      相关资源
      最近更新 更多