我有javascript,当悬停播放动画,但我有4种不同的动画,我希望它每次元素悬停时随机化
这是我的代码
function firsthelp() {
document.getElementById('help-text').innerHTML = 'Enter your first name';
document.getElementById('help-box').style.animation ='greenhover 2s;';
document.getElementById('help-box').style.WebkitAnimation ='greenhover 2s';
}
其他css动画为bluehover
orangehover
和purplehover
答案 0 :(得分:2)
function getRandomAnimation(duration) {
var possibleAnimations = ["greenhover","bluehover","orangehover","purplehover"];
var randomNumber = Math.floor((Math.random()*4));
return (possibleAnimations[randomNumber] + " " + duration || "");
}
并像这样使用它:
document.getElementById('help-box').style.animation = getRandomAnimation('2s)';
答案 1 :(得分:1)
使用Math.random随机化您的动画
var randomNumber = Math.floor((Math.random()*4)+1);
var hover;
if(randomNumber == 1)
{
hover = 'greenhover'
}
else if(randomNumber == 2)
{
hover = 'purplehover';
}
else if(randomNumber == 3)
{
hover = 'orangehover';
}
else if(randomNumber == 4)
{
hover = 'bluehover';
}
document.getElementById('help-text').innerHTML = 'Enter your first name';
document.getElementById('help-box').style.animation =hover +' 2s;';
document.getElementById('help-box').style.WebkitAnimation =hover +' 2s';
答案 2 :(得分:0)
function firsthelp() {
document.getElementById('help-text').innerHTML = 'Enter your first name';
var random_animation = ["greenhover", "bluehover", "orangehover", "purplehover"];
var number = Math.random();
var animation = random_animation[Math.floor(number * 4)] + " 2s";
document.getElementById('help-box').style.animation = animation;
}
答案 3 :(得分:0)
你可以使用Math.Random
来获得1到4或0到3之间的随机数。这里我得到0到3之间并使用JavaScript数组来获取动画
var animations = new Array();
animations[0] = "greenhover";
animations[1] = "bluehover";
animations[2] = "orangehover";
animations[3] = "purplehover";
var randomNo = Math.floor(Math.random() * 4);
document.getElementById('help-text').innerHTML = 'Enter your first name';
document.getElementById('help-box').style.animation =animations[randomNo] +' 2s;';
document.getElementById('help-box').style.WebkitAnimation =animations[randomNo]+' 2s';