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 展开
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 展开
展开全部
<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))());
})
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询