每次用户刷新页面时,我都希望更改网站徽标颜色和按钮的悬停颜色。颜色必须协调。 Website Link 徽标实际上是一个带有透明区域的图像,我可以在其中放置任何我想要的背景颜色。
有人在这里有类似的问题:JQuery Random Background color and color, on 2 div's
这是我根据该帖子制作的javascript:
$(document).ready(function(){
var colors = ["#fda65f","#66CCFF","#71e271","#D37AFF"];
var rand = Math.floor(Math.random()*colors.length);
$('#logo').css("background-color", colors[rand]);
$('.cbp-ig-grid').css("background-color", colors[rand]);
});
.cbp-ig-grid正确更改背景颜色,但我希望颜色仅在悬停时显示。 .cbp-ig-grid类具有此悬停属性:
.cbp-ig-grid li> a:悬停{ 背景色:#71e271;}
问题是,如果我更改了javascript代码' .cbp-ig-grid'使用' .cbp-ig-grid li>一个:悬停'它停止工作。我没有使用Javascript的经验,所以我肯定做错了。
答案 0 :(得分:1)
尝试使用hover()
方法:
$('.cbp-ig-grid').hover(function() {
$(this).css("background-color", colors[rand]);
});
答案 1 :(得分:1)
我更倾向于使用javascript打印<style>
表,而不是使用jquery
hover()
个事件
<script>
var colors = ["#fda65f","#66CCFF","#71e271","#D37AFF"];
var rand = Math.floor(Math.random()*colors.length);
var head = document.head,
style = document.createElement('style');
var css = '#logo { background-color: ' + colors[rand] + '; } ';
css += '.cbp-ig-grid li > a:hover { background-color: ' + colors[rand] + '; } ';
style.type = 'text/css';
if (style.styleSheet){
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
</script>
答案 2 :(得分:0)
使用此
$('.cbp-ig-grid li > a').hover(function(){
$(this).css("background-color", colors[rand]);
});
答案 3 :(得分:0)
你正在做的是:
替换$('.cbp-ig-grid').css("background-color", colors[rand]);
$('.cbp-ig-grid li > a:hover').css("background-color", colors[rand]);
是正确的吗?
无论如何,你无法使用jQuery选择器控制悬停状态:$('.cbp-ig-grid')
您可以通过使用如下函数设置事件处理程序来实现此目的:
$(document).ready(function(){
var colors = ["#fda65f","#66CCFF","#71e271","#D37AFF"];
var rand = Math.floor(Math.random()*colors.length);
$('#logo').css("background-color", colors[rand]);
$(".cbp-ig-grid li").on("mouseover", function () {
$(this).css("background-color", colors[rand]);
});
}