Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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_Jquery_Html_Css - Fatal编程技术网

Javascript 随机悬停效应

Javascript 随机悬停效应,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何随机化悬停效果 例如: <p>test</p> p:hover { background: yellow; } p:hover: background: red; } 测试 p:悬停{ 背景:黄色; } p:悬停: 背景:红色; } 请注意,以上仅为示例。问题是,你怎么能随机化悬停效果,所以它显示背景:黄色和背景:红色一次 不应该有任何顺序,例如:在第一次悬停时,添加一个类,在第二次悬停时,添加另一个类。它应该是完全随机的您应该使用javascript设置不同

如何随机化悬停效果

例如:

<p>test</p>

p:hover {
background: yellow;
}

p:hover:
background: red;
}
测试

p:悬停{ 背景:黄色; } p:悬停: 背景:红色; }
请注意,以上仅为示例。问题是,你怎么能随机化悬停效果,所以它显示
背景:黄色
背景:红色onmouseover
上以随机顺序编码>一次


不应该有任何顺序,例如:在第一次悬停时,添加一个类,在第二次悬停时,添加另一个类。它应该是完全随机的

您应该使用javascript设置不同的类

例如,类似这样的内容(jquery):


我测试了它,它工作了。。。在这里,你有一个简单的方法。您可能需要addClass和removeClass。这取决于你的紫色

.p1:hover {
background: yellow;
}

.p2:hover{
background: red;
}

.p3:hover{
background: blue;
}

// And so on...

setRandomHover(function() {
  var number = 1 + Math.floor(Math.random() * 6);
  if (number == 1)
  {
    $('#your_div').attr('class','p1');
  } else if (number == 2)
  {
    $('#your_div').attr('class','p2');
  }
  // And so on...
}; 

您可以在悬停时向元素添加一个随机类,并在悬停事件完成时将其删除

如果您有以下CSS:

.yellow {
  background: yellow;
}

.red {
  background: red;
}
您可以使用以下jQuery代码示例:

// Declare all classes that can be used in the random selection
var classes = ['yellow', 'red'];

$("p").hover(
  function() {
    // Select a random class
    var randomClass = classes[Math.floor(Math.random() * classes.length)];

    $(this).addClass(randomClass);
  }, function() {
    $(this).removeClass();
  }
);
您可以在上查看一个示例


使用
Math.random()
函数对
数组进行随机选择。

使用以下函数获取随机颜色,并使用mouseover事件更改背景颜色

function getRandomColor () {
 var letters = '0123456789ABCDEF'.split('');
 var color = '#';
 for (var i = 0; i < 6; i++) {
     color += letters[Math.floor(Math.random() * 16)];
 }
 return color;
    }
})

$( "p" ).mouseover(function() {
$(this).css("background",getRandomColor());
});
函数getRandomColor(){ 变量字母='0123456789ABCDEF'。拆分(''); var color='#'; 对于(变量i=0;i<6;i++){ 颜色+=字母[Math.floor(Math.random()*16)]; } 返回颜色; } }) $(“p”).mouseover(函数(){ $(this.css(“background”,getRandomColor()); });
请检查这个

$(文档).ready(函数(){
$(“p[数据随机]”).mouseover(函数(){
最大_值=5;
随机值=数学地板((数学随机()*最大值)+1);
$(this).attr(“数据随机”,随机值);
});
})
p[数据随机]{
填充:10px;
边框:1px纯黑;
}
p[数据随机]:悬停{
光标:指针
}
p[data random=“1”]:悬停{
背景:黄色;
}
p[data random=“2”]:悬停{
背景:红色;
}
p[data random=“3”]:悬停{
背景:黑色;
}
p[data random=“4”]:悬停{
背景:白色;
}
p[data random=“5”]:悬停{
背景:蓝色;
}


您好

创建不同的类并在它们之间进行更改…如何以随机顺序切换特定类?请添加一个工作示例。谢谢。不使用类,但是你可以在鼠标上使用JQ CSS分配一个随机颜色-所以Math.random应该这样做…?你只是在两个状态之间切换,更新为随机版本也许这段代码的演示会改进这个答案?为什么我投了反对票?有人能给我解释一下吗?只是为了知道。。。我想知道我做错了什么…:)周一。。。我忘了一点。。。我编辑了!!我想人们知道调用类或id的不同之处。如果你看到我的Jquery,你就会知道我一直在谈论类。。。无论如何,谢谢@Paulie_D让我知道…:)也许是这项工作的演示?我不相信这是随机的,它似乎依赖于大量的类/ID…当然这可能更有效?好的。。。也许这不是完美的答案。即使是想要的。但这就足够给我负面评价了吗?演示有效吗?我很肯定这个问题已经足够了。不是吗?这是一种生成颜色的有趣方法。@Aneesh,这是一种生成随机颜色的非常有趣的方法,但我认为这不是生成颜色的好方法。它可能与文本或前颜色匹配,我认为预定义的颜色应该是CSS或JS中最好的颜色
function getRandomColor () {
 var letters = '0123456789ABCDEF'.split('');
 var color = '#';
 for (var i = 0; i < 6; i++) {
     color += letters[Math.floor(Math.random() * 16)];
 }
 return color;
    }
})

$( "p" ).mouseover(function() {
$(this).css("background",getRandomColor());
});