这是关于这个问题我问在这个链接:PHP CSS颜色洗牌数组?
我已经改变并添加了更多的代码,并有一个不同的问题,因此为什么我已经打开了一个新的线程。
我使用php和jQuery洗牌的颜色,每次页面刷新。目前,这工作得很好。但是我有一个jQuery函数,我抓取一些元素,并在悬停状态下显示洗牌颜色。现在它确实工作了,但它显示的是css标准默认的红色,蓝色,绿色等,甚至不显示橙色的颜色。有人建议我创建一个变量,然后创建一个if函数,并通过悬停函数传递变量。下面是我到目前为止所拥有的,我是一个新手用户在jQuery,所以我不确定我在哪里出错或下一步要去哪里,有人可以指导我为什么这是坏的?我的firebug显示没有错误,我想我就快到了!谢谢。
PHP Shuffle colors:
<?php
$colours = array('red', 'green', 'blue', 'black');
$blog = $colours[array_rand($colours, 1)];
?>
<body id="<?php echo $blog; ?>">
在我的css中,无论我想显示洗牌颜色#绿色,#红色在实际,类或元素之前,它工作!现在是悬停状态这里我有这个jQuery。
//颜色翻转导航
var colours = "<?php echo $colours; ?>";
if(colours == "red"){
colours = "#600";
}
else if(colours == "green"){
colours = "#363";
}
else if(colours == "blue"){
colours = "#369";
}
else if(colours == "black"){
colours = "#000";
}
//example of some elements that would use the hover effect
$("#footer .address #breadcrumbs a").hover(function() {
$(this).stop().animate({ 'color': colours }, 300);
},function() {
$(this).stop().animate({ 'color': "#fff" }, 300);
});
我是否在if else中缺少一些行或通过错误传递变量?谢谢!
我假定JS在页面上的脚本标签中。
你不能只是echo
出一个数组。我猜你的意思是echo
$blog
。这应该通过一个单一的颜色作为字符串数据由您的if () {} else {}
语句拾取(应该是switch () { case }
真的)。
好了,我把它修好了。
我做了一些事情,所以不确定到底是什么完全解决了它:
-清除缓存(谷歌Chrome是一个痛苦的这个)
-将变量从colors更改为color(在php和JS中)
-在JS中定义变量时,我返回$blog而不是$ color .
当这个工作时,我没有得到错误。
谢谢!