Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
Php 动态菜单的交替颜色_Php_Javascript_Jquery_Css_Opencart - Fatal编程技术网

Php 动态菜单的交替颜色

Php 动态菜单的交替颜色,php,javascript,jquery,css,opencart,Php,Javascript,Jquery,Css,Opencart,我在一个Opencart网站上工作,对于左侧的类别,我需要它们以不同的颜色交替,例如红色、紫色、绿色、蓝色等,然后在菜单中添加更多类别时重复 有谁能给我一些最简单的建议吗 您可以查看以下网站: 我不熟悉Opencart,但这不能通过css实现吗?您最有可能使用第n个child来实现这一点。 或者您可以使用jquery、for循环和color1、color2等类名对其进行着色。循环遍历颜色的数量,并将addClass()添加到每个元素。 也许有更好的解决方案,这些正是现在出现的 编辑:好的,也许第

我在一个Opencart网站上工作,对于左侧的类别,我需要它们以不同的颜色交替,例如红色、紫色、绿色、蓝色等,然后在菜单中添加更多类别时重复

有谁能给我一些最简单的建议吗

您可以查看以下网站:
我不熟悉Opencart,但这不能通过css实现吗?您最有可能使用第n个child来实现这一点。 或者您可以使用jquery、for循环和color1、color2等类名对其进行着色。循环遍历颜色的数量,并将addClass()添加到每个元素。 也许有更好的解决方案,这些正是现在出现的

编辑:好的,也许第n个子元素不适合早期的浏览器,所以jquery解决方案会很好,除非您想使用与jquery相同的概念在页面中添加color类
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var color = ['Red', 'Green', 'Yellow'];

            $('ul#test').find('li').each(function (i) {
                $(this).addClass(color[((i + 3) % 3)]);
            });
        });
    </script>
    <style type="text/css">
        .Red
        {
            background-color: Red;
        }

        .Green
        {
            background-color: Green;
        }

        .Yellow
        {
            background-color: Yellow;
        }
    </style>
</head>
<body>
    <ul id="test">
        <li>a</li><li>b</li><li>c</li>
        <li>a</li><li>b</li><li>c</li>
        <li>a</li><li>b</li><li>c</li>
        <li>a</li><li>b</li><li>c</li>
    </ul>
</body>
</html>
$(文档).ready(函数(){ var color=['红色'、'绿色'、'黄色']; $('ul#test')。查找('li')。每个(函数(i){ $(this.addClass(color[(i+3)%3)]; }); }); 红色 { 背景色:红色; } 绿色 { 背景颜色:绿色; } 黄先生 { 背景颜色:黄色; }
  • a
  • b
  • c
  • a
  • b
  • c
  • a
  • b
  • c
  • a
  • b
  • c

我会在服务器端执行此操作

在您需要填写的零件代码/零件注释中:

$i = 0;
// loop through rows
$i++;
$alt=false;
if ($i % 2 == 0) {
 $alt = true;
}
// output row
// make sure to use a if ($alt) { echo 'class="alt""'; } or something similar so you can style away
// end loop

我没有给你密码。你自己写吧。这是我的想法

  • 为4种不同的颜色编写4个类
  • 现在编写一个函数,为每个
    li
    项添加正确的类。你呢 可以检查li项目的位置并向其添加正确的类
  • 您可以使用javascript或php来实现这一点。
    现在,链接颜色将随着新类别的添加而自动更改

    如果你不关心旧版浏览器的兼容性,我会选择第n个子CSS路线。请参阅参考。如果您担心使用旧浏览器的人(我认为IE8不支持第n个孩子),我肯定会选择服务器端的方式。