如何修复我的红绿灯代码?
How to fix my traffic light code?
<!DOCTYPE html>
<html lang="en">
<head>
<style type='text/css'>
.traffic-light {
width: 100%;
}
.off {
background-color: transparent!important;
}
.traffic-light {
margin: 0 auto;
width: 10%;
min-width: 180px;
border: 5px solid black;
}
.traffic-light div {
margin: 0 auto;
width: 150px;
height: 150px;
border: 5px solid black;
border-radius: 50%;
margin-top: 5px;
margin-bottom: 5px;
}
.red {
background-color: red;
}
.yellow {
background-color: yellow;
}
.green {
background-color: green;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Traffic Lights Controller</title>
<script type="text/javascript" >
function trafficLights()
{
var sequenceData = [ [ 5, 1, 0, 0 ], [ 2, 1, 1, 0 ], [ 5, 0, 0, 1 ], [ 3, 0, 1, 0 ] ],
lights = [],
index = 0;
for( var i = 0, elemId; ( elemId = arguments[ i ] ); i++ )
lights[ i ] = document.getElementById( elemId );
function display()
{
if( index >= sequenceData.length )
index = 0;
for( var i = 0, cv, dLen = lights.length; i < dLen; i++ )
lights[ i ].style.backgroundColor = ( sequenceData[ index ][ i+1 ] ? lights[ i ].id.match(/^[a-z]+/i).toString() : '#000' );
setTimeout( display, sequenceData[ index++ ][ 0 ] * 1000 );
}
display();
}
window.onload = function(){ trafficLights( "red-light", "yellow-light", "green-light" ); };
</script>
</head>
<body>
<div id="wrapper">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>
</body>
</html>
我的代码不起作用?我是编码新手,不确定为什么,但 <style>
标记之间的位导致了问题,或者它无法与代码的其余部分一起使用。
将 class traffic-light
添加到 wrapper
如下所示
<div id="wrapper" class="traffic-light">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>
function trafficLights()
{
var sequenceData = [ [ 5, 1, 0, 0 ], [ 2, 1, 1, 0 ], [ 5, 0, 0, 1 ], [ 3, 0, 1, 0 ] ],
lights = [],
index = 0;
for( var i = 0, elemId; ( elemId = arguments[ i ] ); i++ )
lights[ i ] = document.getElementById( elemId );
function display()
{
if( index >= sequenceData.length )
index = 0;
for( var i = 0, cv, dLen = lights.length; i < dLen; i++ )
lights[ i ].style.backgroundColor = ( sequenceData[ index ][ i+1 ] ? lights[ i ].id.match(/^[a-z]+/i).toString() : '#000' );
setTimeout( display, sequenceData[ index++ ][ 0 ] * 1000 );
}
display();
}
window.onload = function(){
trafficLights( "red-light", "yellow-light", "green-light" );
};
.traffic-light {
width: 100%;
}
.off {
background-color: transparent!important;
}
.traffic-light {
margin: 0 auto;
width: 10%;
min-width: 180px;
border: 5px solid black;
}
.traffic-light div {
margin: 0 auto;
width: 150px;
height: 150px;
border: 5px solid black;
border-radius: 50%;
margin-top: 5px;
margin-bottom: 5px;
}
.red {
background-color: red;
}
.yellow {
background-color: yellow;
}
.green {
background-color: green;
}
<div id="wrapper" class="traffic-light">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>
<!DOCTYPE html>
<html lang="en">
<head>
<style type='text/css'>
.traffic-light {
width: 100%;
}
.off {
background-color: transparent!important;
}
.traffic-light {
margin: 0 auto;
width: 10%;
min-width: 180px;
border: 5px solid black;
}
.traffic-light div {
margin: 0 auto;
width: 150px;
height: 150px;
border: 5px solid black;
border-radius: 50%;
margin-top: 5px;
margin-bottom: 5px;
}
.red {
background-color: red;
}
.yellow {
background-color: yellow;
}
.green {
background-color: green;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Traffic Lights Controller</title>
<script type="text/javascript" >
function trafficLights()
{
var sequenceData = [ [ 5, 1, 0, 0 ], [ 2, 1, 1, 0 ], [ 5, 0, 0, 1 ], [ 3, 0, 1, 0 ] ],
lights = [],
index = 0;
for( var i = 0, elemId; ( elemId = arguments[ i ] ); i++ )
lights[ i ] = document.getElementById( elemId );
function display()
{
if( index >= sequenceData.length )
index = 0;
for( var i = 0, cv, dLen = lights.length; i < dLen; i++ )
lights[ i ].style.backgroundColor = ( sequenceData[ index ][ i+1 ] ? lights[ i ].id.match(/^[a-z]+/i).toString() : '#000' );
setTimeout( display, sequenceData[ index++ ][ 0 ] * 1000 );
}
display();
}
window.onload = function(){ trafficLights( "red-light", "yellow-light", "green-light" ); };
</script>
</head>
<body>
<div id="wrapper">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>
</body>
</html>
我的代码不起作用?我是编码新手,不确定为什么,但 <style>
标记之间的位导致了问题,或者它无法与代码的其余部分一起使用。
将 class traffic-light
添加到 wrapper
如下所示
<div id="wrapper" class="traffic-light">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>
function trafficLights()
{
var sequenceData = [ [ 5, 1, 0, 0 ], [ 2, 1, 1, 0 ], [ 5, 0, 0, 1 ], [ 3, 0, 1, 0 ] ],
lights = [],
index = 0;
for( var i = 0, elemId; ( elemId = arguments[ i ] ); i++ )
lights[ i ] = document.getElementById( elemId );
function display()
{
if( index >= sequenceData.length )
index = 0;
for( var i = 0, cv, dLen = lights.length; i < dLen; i++ )
lights[ i ].style.backgroundColor = ( sequenceData[ index ][ i+1 ] ? lights[ i ].id.match(/^[a-z]+/i).toString() : '#000' );
setTimeout( display, sequenceData[ index++ ][ 0 ] * 1000 );
}
display();
}
window.onload = function(){
trafficLights( "red-light", "yellow-light", "green-light" );
};
.traffic-light {
width: 100%;
}
.off {
background-color: transparent!important;
}
.traffic-light {
margin: 0 auto;
width: 10%;
min-width: 180px;
border: 5px solid black;
}
.traffic-light div {
margin: 0 auto;
width: 150px;
height: 150px;
border: 5px solid black;
border-radius: 50%;
margin-top: 5px;
margin-bottom: 5px;
}
.red {
background-color: red;
}
.yellow {
background-color: yellow;
}
.green {
background-color: green;
}
<div id="wrapper" class="traffic-light">
<h1>Traffic Lights Controller</h1>
<div id="red-light"></div>
<div id="yellow-light"></div>
<div id="green-light"></div>
</div>