basti1012.bplaced.net

Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
    ich habe das Ampel css-Tutorial durch gearbeitet und möchte die Ampeln durch Eingänge schalten.

    Code

                                        
                                    <style>
    #css-ampel {
      display: flex;
      flex-direction:column;
      width: 30px;
      height: 90px;
      border-radius: 6px;
      background: black;
      zoom: 1.7;
    }
    
    #css-ampel div{
    
      background: dimgrey;
      border-radius:50%;
      flex:1;
      margin:3px;
      justify-content:center;
    }    
    
    .ampelred > #ampelred{
        background: red;
        box-shadow: 0 0 20px red;
    }
    
    .ampelyellow > #ampelyellow{
        background: yellow;
        box-shadow: 0 0 20px yellow;
    }
    
    .ampelgreen > #ampelgreen{
        background: limegreen;
        box-shadow: 0 0 20px limegreen;
    }
    
    .auto >#ampelred{
      animation:red 6s linear infinite;
    }
    .auto >#ampelgreen{
      animation:green 6s linear infinite;
    }
    .auto >#ampelyellow{
      animation:yellow 6s linear infinite;
    }
    
    @keyframes red{
      0%,40%{
        background:red;
      }
      41%,89%{
          background: dimgrey;
      }
      90%,100%{
        background:red;
      }
    }
    
    @keyframes green{
      0%,40%{
        background:dimgrey;
      }
      41%,69%{
          background: green;
      }
      70%,100%{
        background:dimgrey;
      }
    }
    
    @keyframes yellow{
      0%,20%{
        background:dimgrey;
      }
      21%,40%{
          background: yellow;
      }
      41%,70%{
        background:dimgrey;
      }
      71%,90%{
           background: yellow;
      }
     91%,100%{
           background:dimgrey;
      }
    }
    output{
      font-size:20px;
      font-weight:900;
    }
    </style>
    
    
    
    <div id="css-ampel">
      <div id="ampelred"></div>
      <div id="ampelyellow"></div>   
      <div id="ampelgreen"></div> 
      </div>
    <br>
    <output></output>
    <br>
    <button id="red">Rot</button>
    <button id="yellow">Gelb</button>
    <button id="green">Grün</button>
    <button id="auto">Automatisch</button>
    <h4>Oder mit rang um deine else if zu simulieren</h4>
    
    <br>
    <input type="range" min="0.0" max="9.0" id="ran" value="0.0">
    
    
    
    
    
    
    
    
    
    
    
    <script>
    var am=document.getElementById('css-ampel');
    var re=document.getElementById('red');
    var ye=document.getElementById('yellow');
    var gr=document.getElementById('green');
    var au=document.getElementById('auto');
    var x1=document.getElementById('ran');
    var ou=document.getElementsByTagName('output')[0];
    
    re.addEventListener('click',function(){
      am.setAttribute('class','ampelred');  
      ou.innerHTML='Ampel ist rot';
    })
    ye.addEventListener('click',function(){
      am.setAttribute('class','ampelyellow');  
        ou.innerHTML='Ampel ist Gelb';
    })
    gr.addEventListener('click',function(){
      am.setAttribute('class','ampelgreen')  
        ou.innerHTML='Ampel ist Grün';
    })
    au.addEventListener('click',function(){
      am.setAttribute('class','auto');  
        ou.innerHTML='Ampel läuft Automatisch';
    })
    var color;
    x1.addEventListener('change',function(){
      if(x1.value<=3){
         am.setAttribute('class','ampelred');
        color='red';
      }
       if(x1.value>=3.1 && x1.value<=6){
         am.setAttribute('class','ampelyellow');
         color='yellow';
      }
         if(x1.value>=6.1 && x1.value<=9){
         am.setAttribute('class','ampelgreen');
           color='green';
      }
      
    ou.innerHTML='X1 = '+x1.value+' if in '+color;
    })
    
    </script>