Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中创建动态脉动按钮?_Javascript_Html_Dom_Transition_Css Animations - Fatal编程技术网

如何在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

我试着让我的按钮在一个无限的循环中从绿色到黑色来回跳动。这是我第一次使用@keyframes,我尝试了CSS,效果很好,但是用javascript做它让我有点困惑。我该如何解决这个问题?我还希望这个按钮在javascript中无限跳动,因为这个按钮是在javascript中动态创建的

// 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()不起作用吗: