我有2个交通信号灯,可以使用自己的相位。 您可以在JSFiddle访问我的演示,或查看源代码:
$(function() {
traffic_lights = [
[{color:'green' ,time:5 },
{color:'yellow' ,time:3 },
{color:'red' ,time:5 },],
[{color:'green' ,time:10 },
{color:'yellow' ,time:6 },
{color:'red' ,time:10 },],
]
for (var a = 0, f; a < traffic_lights.length; a++) {
var g = traffic_lights[a];
f = $("#c" + a);
(function (a, d) {
var b = 0,
time = 0;
return function s() {
time || (a.css({"background-color": d[b].color}), time = d[b].time, b = ++b % d.length);
a.html(time);
time--;
window.setTimeout(s, 1e3);
}
})(f, g)();
}
})
我如何知道正在处理哪个红绿灯(跨度id)及其颜色是什么?
答案 0 :(得分:1)
如果我说得对,则范围为f
,因此其id属性为"c" + a
。你可以用`f.css('background-color')来获得它的背景颜色。
编辑:问题真的不清楚,您对哪个范围和生命周期感兴趣?您应该在a
内使用f
代替s
。正如你已经在做的那样。所以我对你认为你有什么问题感到困惑。