jquery问题,css色值变量,详细如下:

varc0='#fe620f';varc1='#02c7e4';varc2='#5dce9f';varc3;........(varc0.......varc20);有2... var c0='#fe620f';
var c1='#02c7e4';
var c2='#5dce9f';
var c3;........(var c0.......var c20);有20个颜色变量;
有20个li,怎样根据li的index去给每一个li设置背景色为相对应的变量,如:li的index为0,就设这个li的背景色为变量c1的值,依次设置完这20个li
展开
 我来答
love海15211
推荐于2016-11-16 · TA获得超过152个赞
知道答主
回答量:38
采纳率:0%
帮助的人:50.5万
展开全部
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<style type="text/css">
#ul li {
height: 30px;
width: 30px;
}
</style></head>
<body>
<ul id="ul"></ul>
</body>
<script type="text/javascript">
   var str = "";
   for(var i = 0;i<20;i++){
   str += "<li>"+i+"</li>";
   }
   var C1="#123";
   var C2="#234";
   var C3="#345";
   var C4="#456";
   var C5="#567"; /* 省略剩下的 */
   $("#ul").html(str);
   $("#ul li").each(function(i){
   $(this).css("background-color",new Function("return C"+(i+1))());
   })
   /*  new Function("return C"+i)() 返回对象Ci */
</script>
</html>

大致思想就是这样,不过我建议你把20个颜色变量存放到json中,如:

var color = {
    C1 : "#123",
    C2 : "#234",
    C3 : "#345"
}
那么以上代码修改
 $(this).css("background-color",color["C"+(i+1)]);
更好理解!
追问
小修改一下帮,li数量是不定的,颜色数量是定死的20个,如果实际有25个li,那么到第21个的时候,它的色就应该是再从C1 : "#123"开始往下依次设置,第22就是C2 : "#234", 这样怎么写呢?
追答
加多一个求余数:
$("#ul li").each(function(i){
var o = i % 20;
$(this).css("background-color",new Function("return C"+(o+1))());
})
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式