作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个媒体播放器,我希望录制按钮在录制时以红色闪烁。我正在使用 Pure 通过 CSS 来设计按钮的样式。
<button class="pure-button" onclick="record(); return false" id="idRec">Rec</button>
我正在录制时向按钮添加另一个类。
var elem = document.getElementById("idRec");
elem.setAttribute("class", "pure-button recBtn");
这是 recBtn 在样式表中的样子:
.recBtn {
-webkit-box-shadow: 0px 1px 3px rgba(255,000,000,0.1),inset 0px 0px 2px rgba(255,0,0,0.7);
background: -webkit-gradient(linear, left top, left bottom, from(#ff0000),to(#ff0000));
-webkit-animation-name: buttonPulse;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: linear;
}
我在样式表中也有这个:
@-webkit-keyframes buttonPulse {
0% {
opacity: 0.5;
}
50% {
opacity: 1;
}
100% {
opacity: 0.5;
}
}
这使按钮闪烁,但只有灰色阴影,只有边框变成红色。但是当我直接为元素设置样式时,我确实得到了我想要的结果(样式表中仍然有“@-webkit-keyframes buttonPulse”):
elem.setAttribute("style",
"background: -webkit-gradient(linear, left top, left bottom, from(#ff0000),to(#ff0000));" +
"-webkit-box-shadow:0px 1px 3px rgba(255,000,000,0.1),inset 0px 0px 2px rgba(255,0,0,0.7);" +
"-webkit-animation-name: buttonPulse;" +
"-webkit-animation-duration: 2s;" +
"-webkit-animation-iteration-count: infinite;" +
"-webkit-animation-timing-function: linear;");
但是当我希望按钮停止闪烁时,该方法就会出现问题,因为我需要将所有这些单独的属性设置回它们之前的状态,因为它们属于“纯按钮”类。 .
我是否可以通过更改类以某种方式获得我想要的结果?
最佳答案
如果问题是背景没有改变,只需通过使样式更具体来提高样式的优先级即可。
#idRec.recBtn {
-webkit-box-shadow: 0px 1px 3px rgba(255,000,000,0.1),inset 0px 0px 2px rgba(255,0,0,0.7);
background: -webkit-gradient(linear, left top, left bottom, from(#ff0000),to(#ff0000));
-webkit-animation-name: buttonPulse;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
这是一把 fiddle http://jsfiddle.net/46XMq/4/
关于javascript - 如何更改元素的类以获得我想要的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028654/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!