Advertisement
Guest User

Untitled

a guest
Mar 6th, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.53 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Lockers</title>
  6.  
  7.   <style>
  8.     @import url(http://fonts.googleapis.com/css?family=Oswald:400,700);
  9.     @import url(http://fonts.googleapis.com/css?family=Source+Code+Pro);
  10.  
  11.     *{
  12.       -webkit-box-sizing: border-box;
  13.       -moz-box-sizing: border-box;
  14.       box-sizing: border-box;
  15.       margin:0;
  16.       padding:0;
  17.     }
  18.  
  19.     html{
  20.       font-size: 16px;
  21.     }
  22.  
  23.     body{
  24.       font-family: "Oswald",Arial,Helvetica,sans-serif;
  25.         padding:1em;
  26.         background: #333;
  27.         color:#f3c9a0;
  28.     }
  29.  
  30.     table{
  31.         font-family:'Source Code Pro';
  32.         background: #ddd;
  33.         color:#222;
  34.         padding: .5em;
  35.         margin-bottom: .5em;
  36.     }
  37.  
  38.     td.open{
  39.         color:#000;
  40.     }
  41.  
  42.     td.closed{
  43.         color:#aaa;
  44.     }
  45.   </style>
  46.  
  47. </head>
  48. <body>
  49.  
  50.   <script>
  51.     // Boolean. If true, the door is open, if false, it is closed
  52.     var o = false,
  53.         lockers = [o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o,
  54.                    o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o,
  55.                    o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o,
  56.                    o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o,
  57.                    o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o],
  58.         count = lockers.length;
  59.  
  60.     function everyN(n){
  61.         for(var i=n-1; i<count; i+=n){
  62.            // inverse the state (open / closed)
  63.            lockers[i] = !lockers[i];
  64.        }
  65.    }
  66.  
  67.  
  68.    // Wait for the page to load and do this
  69.    window.onload = function(){
  70.        // custom function to display the lockers
  71.        displayLockers('Initial state');
  72.        everyN(2);
  73.        displayLockers('Every Two');
  74.        everyN(2);
  75.        displayLockers('Every Two + Every Two = Initial state');
  76.        everyN(3);
  77.        displayLockers('Every Three');
  78.        everyN(2);
  79.        displayLockers('Every Three + Every Two');
  80.    };
  81.  
  82.  
  83.    function displayLockers(title){
  84.        var s = ['<h1>'+title+'</h1>'];
  85.         s.push('<table>');
  86.         for(var i=0; i<5; i++){
  87.            s.push('<tr>');
  88.             for(var j=0; j<20; j++){
  89.                s.push((lockers[i*5+j]?'<td class="open">o':'<td class="closed">c') +'</td>');
  90.             }
  91.             s.push('</tr>');
  92.         }
  93.         s.push('</table>');
  94.         document.body.insertAdjacentHTML('beforeend', s.join(''));
  95.         console.log(lockers);
  96.     }
  97. </script>
  98.  
  99. </body>
  100. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement