Javascript 如何添加+;点击jQuery,200毫秒到css动画持续时间
有一个带有css动画的divJavascript 如何添加+;点击jQuery,200毫秒到css动画持续时间,javascript,jquery,css,Javascript,Jquery,Css,有一个带有css动画的div .mydiv { animation: ticker 2000ms linear 0s infinite normal none running; } 动画持续时间属性设置为2000ms 我正试图用jquery改变动画的速度 例如,向currentvalue添加200ms 差不多 $( "#speedup" ).click(function() { var mydiv = $( ".mydiv" ); var v
.mydiv {
animation: ticker 2000ms linear 0s infinite normal none running;
}
动画持续时间
属性设置为2000ms
我正试图用jquery改变动画的速度
例如,向currentvalue添加200ms
差不多
$( "#speedup" ).click(function() {
var mydiv = $( ".mydiv" );
var val = mydiv.css('animation-duration');
$(".mydiv").css("animation-duration", val + "ms")+200;
});
试试这个
var val = currentvalue;
$( "#speedup" ).click(function() {
var mydiv = $( ".mydiv" );
val = val + 200;
$(".mydiv").css("animation-duration", val + "ms");
});
变量“val”不是整数(2s)。不能与这个值相乘。您需要使用parseInt()返回整数(2) 编辑:ParseFloat更好。通过这种方式,您可以使用toFixed获得带有2个小数的整数
首先,您必须获得
currentvalue
,可能是通过:$('.mydiv').css('animation-duration')*1000代码>。乘以1000的原因是函数默认以秒为单位返回计时。我不知道他从哪里得到ta_Ticker,所以我只是简单地用currentvalue来解释它。你的代码很完美,但实际上它只将200与currentvalue进行比较,以毫秒为单位,例如2000ms变为2000200ms。如果您能提供帮助,我将不胜感激:)提示:使用parseInt()
函数。您现在正在连接字符串。
$('#speedup').click(function(){
var mydiv = $( ".mydiv" );
var val = mydiv.css('animation-duration');
var newVal = (parseInt(val) * 1000); //parseInt(val) creates the integer 2. Multiply with 1000 to get 2000
mydiv.css({"animation-duration" : newVal - 200 + "ms"});
});
$('#speedup').click(function(){
var mydiv = $( ".mydiv" );
var val = mydiv.css('animation-duration');
var newVal = (parseFloat(val).toFixed(2) * 1000);
mydiv.css({"animation-duration" : newVal - 200 + "ms"});
});