代码在IE和Edge中不起作用

时间:2016-07-01 06:05:14

标签: javascript html css

我有一个在Chrome中完美运行的脚本,但CSS在Edge中不起作用,滚动文本在IE10中不起作用。

了解它在Chrome中的运行方式(滚动文字开始大约需要5秒钟:

https://jsfiddle.net/oxw4e5yh/

CSS:

<style>
/* Make it a marquee */

.marquee {
    width: 100%;
    left: 0px;
    height: 10%;
    position: fixed;
    margin: 0 auto;
    white-space: nowrap;
    overflow: hidden;
    background-color: #000000;
    bottom: 0px;
    color: white;
    font: 50px'Verdana';
}
.marquee span {
    display: inline-block;
    padding-left: 100%;
    text-indent: 0;
    animation: marquee linear infinite;
    background-color: #000000;
    color: white;
    bottom: 0px;
}
/* Make it move */

@keyframes marquee {
    0% {
        transform: translate(10%, 0);
    }
    100% {
        transform: translate(-100%, 0);
    }
}
/* Make it pretty */

.scroll {
    padding-left: 1.5em;
    position: fixed;
    font: 50px'Verdana';
    bottom: 0px;
    color: white;
    left: 0px;
    height: 10%;
}
</style>

1 个答案:

答案 0 :(得分:2)

您的CSS无法在Edge中工作的原因是font声明。有一个空间缺失。更改.marquee内的内容:

font: 50px Verdana;

它在IE10 / IE11中不起作用的原因是animationDuration不支持JavaScript属性。见raw string

如果你想让它工作,你应该从animation: marquee linear infite;中移除css并将其添加到JavaScript

CSS

.marquee span {
    display: inline-block;
    padding-left: 100%;
    text-indent: 0;
    background-color: #000000;
    color: white;
    bottom: 0px;
}

JS

spanSelector[i].style.animation = "marquee linear infinite " + timeTaken + "s";

现在它应该在IE10 / IE11中工作:)