Jquery if else color shuffle(传递一个变量)


Jquery if else colour shuffle (passing a variable)

这是关于这个问题我问在这个链接: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 .

当这个工作时,我没有得到错误。

谢谢!