如何在javascript中创建动态脉动按钮?
我试着让我的按钮在一个无限的循环中从绿色到黑色来回跳动。这是我第一次使用@keyframes,我尝试了CSS,效果很好,但是用javascript做它让我有点困惑。我该如何解决这个问题?我还希望这个按钮在javascript中无限跳动,因为这个按钮是在javascript中动态创建的如何在javascript中创建动态脉动按钮?,javascript,html,dom,transition,css-animations,Javascript,Html,Dom,Transition,Css Animations,我试着让我的按钮在一个无限的循环中从绿色到黑色来回跳动。这是我第一次使用@keyframes,我尝试了CSS,效果很好,但是用javascript做它让我有点困惑。我该如何解决这个问题?我还希望这个按钮在javascript中无限跳动,因为这个按钮是在javascript中动态创建的 // create an input element var frm = document.getElementById("result"); var submitBtn = document.createElem
// create an input element
var frm = document.getElementById("result");
var submitBtn = document.createElement("input");
submitBtn.type = "submit";
submitBtn.value = "Confirm Purchase";
frm.appendChild(submitBtn);
submitBtn.style.animation = "pulse 5s infinite";
var cssAnimation = document.createElement('style');
cssAnimation.type = 'text/css';
var rules = document.createTextNode('@keyframes pulse {'+
'from { background-color:green; }'+
'80% { background-color:black; }'+
'90% { background-color:green; }'+
'to { background-color:back; }'+
'}');
cssAnimation.appendChild(rules);
//document.getElementsByTagName("head")[0].appendChild(cssAnimation);
submitBtn.appendChild(cssAnimation);
假设您在chrome
我看到您的给定,并发现一些错误:
这里我使用-webkit
如果创建动画,则必须使用-webkit-
进行chrome
或safari
其他的是-o-
用于opera
,-moz-
用于Mozilla
和IE
您可以直接添加或添加-ms-
这是我发现的,
您在JavaScript中只使用“.animation”,而不是“.webkitAnimation
”,因此您的动画无法工作
而且你的代码格式不好,因为这是javascript,所以它会逐行编译,所以你必须首先附加你的动态样式标签
,然后将你的动画应用到html元素
这可能会帮助您……假设您在chrome
我看到您的给定,并发现一些错误:
这里我使用-webkit
如果创建动画,则必须使用-webkit-
进行chrome
或safari
其他的是-o-
用于opera
,-moz-
用于Mozilla
和IE
您可以直接添加或添加-ms-
这是我发现的,
您在JavaScript中只使用“.animation”,而不是“.webkitAnimation
”,因此您的动画无法工作
而且你的代码格式不好,因为这是javascript,所以它会逐行编译,所以你必须首先附加你的动态样式标签
,然后将你的动画应用到html元素
如果您使用CSS3规则定义动画,那么您可以使用Javascript通过设置按钮的
className
属性来应用此样式
下面是一个例子:
HTML
现在使用闪烁动画定义一个附加类:
.clickplz {
animation:btn 2s;
-webkit-animation:btn 2s;
animation-iteration-count:infinite;
-webkit-animation-iteration-count:infinite;
}
@keyframes btn {
0% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
50% {color:#fff; background-color:#0b0; text-shadow:0 0 9px rgba(255,255,144,0.75);}
100% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
}
@-webkit-keyframes btn {
0% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
50% {color:#fff; background-color:#0b0; text-shadow:0 0 9px rgba(255,255,144,0.75);}
100% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
}
Javascript
现在,启动按钮闪烁只需将clickplz
类添加到按钮:
button {
color:#696;
font-weight:bold;
font-size:16pt;
border:4px outset #070;
border-radius:1em;
background-color:#000;
padding:0.3em 1em;
}
document.getElementById('btn1').className='clickplz';
▶ 如果使用CSS3规则定义动画,则可以通过设置按钮的
className
属性,使用Javascript应用此样式
下面是一个例子:
HTML
现在使用闪烁动画定义一个附加类:
.clickplz {
animation:btn 2s;
-webkit-animation:btn 2s;
animation-iteration-count:infinite;
-webkit-animation-iteration-count:infinite;
}
@keyframes btn {
0% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
50% {color:#fff; background-color:#0b0; text-shadow:0 0 9px rgba(255,255,144,0.75);}
100% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
}
@-webkit-keyframes btn {
0% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
50% {color:#fff; background-color:#0b0; text-shadow:0 0 9px rgba(255,255,144,0.75);}
100% {color:#8c8; background-color:#000; text-shadow:0 0 9px rgba(255,255,144,0);}
}
Javascript
现在,启动按钮闪烁只需将clickplz
类添加到按钮:
button {
color:#696;
font-weight:bold;
font-size:16pt;
border:4px outset #070;
border-radius:1em;
background-color:#000;
padding:0.3em 1em;
}
document.getElementById('btn1').className='clickplz';
▶ 提供您的“是”,我的小提琴是在chrome上工作的。仅对于
Firefox
您必须将webkit
替换为moz
,在JSFIDLE
中,您必须选择框架和扩展
->标题下的选项,因此您的代码放在文档的开头,不管您在“html”中调用什么函数,它都可以工作..谢谢,它现在可以工作了!,您在第211行中犯了一个错误:请参阅工作:提供您的是,我的小提琴是在chrome上工作的。仅对于Firefox
您必须将webkit
替换为moz
,在JSFIDLE
中,您必须选择框架和扩展
->项下的选项,因此您的代码放在文档的开头,不管您在“html”中调用什么函数,它都可以工作..谢谢,它现在可以工作了!,您在第211行中犯了一个错误:请看工作:很好的动画,这正是我要找的!非常感谢!你介意告诉我为什么我的选择选项onload()不起作用吗:很好的动画,这正是我想要的!非常感谢!您介意告诉我为什么我的select options onload()不起作用吗: