【发布时间】:2013-04-09 11:19:17
【问题描述】:
在一个网站中,我有一个 PHP sn-p,每次刷新时,某些元素都会改变颜色(div 的链接、文本、悬停状态等)。这很好用,但目前,在刷新时,它们会通过在必要时将它们应用于 css 来更改为我的主题颜色(下面的示例)。
我现在有一个用于动画的悬停状态的 jQuery 函数以及我的所有链接:悬停状态它们都包含在颜色随机播放中。当应用颜色随机播放时,如果您要将它们放在 css 中,它是默认的 'red'、'blue'、'green'。
我在网上看过,但我不确定在哪里看,因为它不能在 jQuery sn-p 上工作,所以我认为它与 jQuery 函数有关。
标头顶部的 PHP:
<?php $colours = array('red', 'yellow', 'pink', 'blue', 'green');
shuffle($colours);
$random = $colours[0]; ?>
在 body 标记上,它作为 id 回显:
<body id="<?php echo $random; ?>">
链接*<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>*
在任何 div 或元素上,我希望它们在 css 中更改颜色之前是 #green、#red 等颜色,所以如果我希望“共享类”更改我的 css 是这样的:
#green .share {
color:#79b74c;
}
#red .share {
color:#900;
}
现在,除了我使用 jQuery 函数的悬停随机播放状态之外,这一切都可以正常工作:
$(document).ready(function(){
// colour rollover navigation
$(".share").hover(function() {
$(this).stop().animate({ 'color': "<?php echo $random; ?>" }, 300);
},function() {
$(this).stop().animate({ 'color': "#fff" }, 300);
});
这一定与 jQuery 有关,因为它在删除时运行良好,并且在应用时也运行良好,但它会将 php 中的颜色作为 css 的默认颜色十六进制代码。
谢谢。
【问题讨论】:
-
只是为了涵盖所有基础 - 我假设你有一个插件来动画颜色?相当肯定 jQuery 自己不会这样做。您是否在开发控制台中收到任何 JS 错误?
-
我已经添加了我在标题中使用的脚本标签,并且在我的控制台中没有错误!它正在工作,但从顶部的 php 开始,它使用默认颜色,而不是像 body 标签中的 id css 颜色。
-
旁注:我会使用
$random = $colours[array_rand($colours, 1)];而不是shuffle()。 -
谢谢,将此应用到我当前的代码中。这和 shuffle 有什么区别,还是更好的做法?谢谢
-
如果您在控制台中输入
$('.share').animate({'color':'red'},300);会发生什么?因为它可能是你的悬停没有触发.. 其余的看起来是正确的