如何在支持所有IE浏览器的UI上使用计时器创建圆圈

How to create circle with timer on UI which support all IE browsers

提问人:user3714194 提问时间:5/4/2020 更新时间:5/4/2020 访问量:256

问:

如何在支持所有IE浏览器的UI上使用计时器创建圆圈

我能够实现 svg 和 circle 标签,但相同的更改不适用于 IE8 和更低版本的浏览器。IE8

HTML CSS 用户界面 Internet-Explorer-7

评论

0赞 Mr Lister 5/4/2020
哇,IE7。不可思议。无论如何,在 JavaScript 中使用纯文本计数器的简单回退是可以的,还是需要是动画圆圈?

答:

0赞 Deepak-MSFT 5/4/2020 #1

我可以看到您希望支持旧版本的IE浏览器。如 IE 7、IE 8 等。

我想通知您,IE 版本 9 支持 SVG

从 IE 9 到 IE 11,所有版本的 IE 浏览器都部分支持 SVG。

  • IE9-11 中的部分支持是指不支持动画。

  • IE9-11 和 Edge 无法正确缩放 SVG 文件。

因此,很难为那些旧版本的 IE 浏览器创建动画计时器。

我建议您可以尝试为不受支持的 IE 浏览器版本显示一个简单的计时器,您可以为支持的 IE 浏览器版本(如 Ie 11)显示动画圆圈计时器。

下面是一个简单的示例:

<!DOCTYPE HTML>
<html>
<head>
<title>HTML Timer example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
p {
  text-align: center;
  font-size: 20px;
  margin-top: 0px;
}
    #demo {
      width: 100px;
      height: 100px;
      background: red;
      border-radius: 50%;
     vertical-align: middle;
     line-height: 100px; 
	border:solid black;
    }
  
</style>
</head>
<body>

<p id="demo"></p>

<script>
function startTimer(duration, display) {
    var timer = duration, minutes, seconds;
    setInterval(function () {
        minutes = parseInt(timer / 60, 10);
        seconds = parseInt(timer % 60, 10);

        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;

        display.innerHTML = minutes + ":" + seconds;

        if (--timer < 0) {
            timer = duration;
        }
    }, 1000);
}

window.onload = function () {
    var fiveMinutes = 60 * 5,
        display = document.getElementById('demo');
    startTimer(fiveMinutes, display);
};
</script>

</body>
</html>

下面是另一个有用的链接,但该解决方案也可能导致旧版本的IE浏览器出现问题。所以最好使用简单的计时器。

CSS Pie 计时器