Tribute Page: Nikola Tesla

In this example below you will see how to do a Tribute Page: Nikola Tesla with some HTML / CSS and Javascript

Thumbnail
This awesome code was written by Waren_Gonzaga, you can see more from this user in the personal repository.
You can find the original code on Codepen.io
Copyright Waren_Gonzaga ©

Technologies

  • HTML
  • CSS
  • JavaScript
<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  <title>Tribute Page: Nikola Tesla</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" type="text/javascript"></script>
  
  
      <link rel="stylesheet" href="css/style.css">

  
</head>

<body>

  <img src="http://www.pogledi.rs/wp-content/uploads/2014/04/Tesla_circa_1890-763x1024.jpeg" width="200px" height="auto" class="profile-picture"/>
<p class="profile-name">Nikola Tesla</p>
<span class="separator"></span>
<div class="info-box">
  Nikola Tesla (/ˈtɛslə/; Serbian Cyrillic: Никола Тесла Serbo-Croatian pronunciation: [nikoːla tesla]; 10 July 1856 – 7 January 1943) was a Serbian-American inventor, electrical engineer, mechanical engineer, physicist, and futurist who is best known for his contributions to the design of the modern alternating current (AC) electricity supply system.
<br><br>
Born and raised in the Austrian Empire, Tesla received an advanced education in engineering and physics in the 1870s and gained practical experience in the early 1880s working in telephony and at Continental Edison in the new electric power industry. He emigrated to the United States in 1884, where he would become a naturalized citizen. He worked for a short time at the Edison Machine Works in New York City before he struck out on his own. With the help of partners to finance and market his ideas, Tesla set up laboratories and companies in New York to develop a range of electrical and mechanical devices. His alternating current (AC) induction motor and related polyphase AC patents, licensed by Westinghouse Electric in 1888, earned him a considerable amount of money and became the cornerstone of the polyphase system which that company would eventually market.
<br><br>
Attempting to develop inventions he could patent and market, Tesla conducted a range of experiments with mechanical oscillators/generators, electrical discharge tubes, and early X-ray imaging. He also built a wireless-controlled boat, one of the first ever exhibited. Tesla became well known as an inventor and would demonstrate his achievements to celebrities and wealthy patrons at his lab, and was noted for his showmanship at public lectures.
<br><br>
Throughout the 1890s, Tesla pursued his ideas for wireless lighting and worldwide wireless electric power distribution in his high-voltage, high-frequency power experiments in New York and Colorado Springs. In 1893, he made pronouncements on the possibility of wireless communication with his devices. Tesla tried to put these ideas to practical use in his unfinished Wardenclyffe Tower project, an intercontinental wireless communication and power transmitter, but ran out of funding before he could complete it.
<br><span class="separator"></span><br>
<span class="profile-credit">
For more info visit <a href="https://en.wikipedia.org/wiki/Nikola_Tesla" target="_blank">Wikipedia!</a><br>
Developed and Designed by <a href="https://facebook.com/warengonzagaofficialpage" target="_blank" title="Hello! Click me to know more about me!" style="text-transform:capitalize">Waren Gonzaga</a><br>
A tribute page for the great Nikola Tesla!
</span>
  
</div>
<canvas id="canvas"></canvas>
  
  

    <script  src="js/index.js"></script>




</body>

</html>

/*Downloaded from https://www.codeseek.co/Waren_Gonzaga/tribute-page-nikola-tesla-vWRamz */
* {
  margin: 0px;
  padding: 0px;
  border: 0px;
}

body {
  background: #333;
  overflow-y: auto;
  overflow-x: hidden;
}

.separator {
  border-top: 2px solid #777;
  border-bottom: 2px solid #777;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 65px;
}

.profile-picture {
  position: absolute;
  z-index: 1000;
  border: solid 8px #ffffff;
  box-shadow: 4px 4px 10px 1px #222;
}

.profile-name {
  position: absolute;
  z-index: 1000;
  font-size: 40px;
  font-weight: 800;
  font-family: arial;
  color: #ffffff;
  top: 10px;
  right: 50px;
  text-shadow: 4px 4px 5px #222;
}

.profile-name:hover {
  -webkit-animation: active 2s;
  animation: active 2s;
}

@keyframes active {
   from {right: 50px;}
   to {right: 100px;}
}

-webkit-@keyframes active {
   from {right: 50px;}
   to {right: 100px;}
}

.info-box {
  position: absolute;
  padding: 80px 50px 50px 250px;
  text-align: justify;
  color: #777;
  font-family: arial;
}

.profile-credit {
  position: relative;
  color: #777;
  font-weight: bold;
}

.profile-credit > a {
  text-decoration: none;
  text-transform: uppercase;
  color: #2196F3;
}

.profile-credit > a:hover {
  text-decoration: underline;
}

/*Downloaded from https://www.codeseek.co/Waren_Gonzaga/tribute-page-nikola-tesla-vWRamz */
(function() {
  var boltFadeDuration, boltFlashDuration, bolts, canvas, context, flashOpacity, fps, height, lastFrame, launchBolt, recursiveLaunchBolt, scale, setCanvasSize, tick, totalBoltDuration, width;

  canvas = document.getElementById("canvas");

  context = canvas.getContext("2d");

  width = 0.0;

  height = 0.0;

  scale = 1.0;

  fps = 45.0;

  lastFrame = (new Date).getTime();

  flashOpacity = 0.0;

  boltFlashDuration = 0.25;

  boltFadeDuration = 0.5;

  totalBoltDuration = boltFlashDuration + boltFadeDuration;

  bolts = [];

  setCanvasSize = function() {
    var bolt, j, len;
    canvas.setAttribute("width", window.innerWidth);
    canvas.setAttribute("height", window.innerHeight);
    for (j = 0, len = bolts.length; j < len; j++) {
      bolt = bolts[j];
      bolt.canvas.width = window.innerWidth;
      bolt.canvas.height = window.innerHeight;
    }
    width = Math.ceil(window.innerWidth / scale);
    return height = Math.ceil(window.innerHeight / scale);
  };

  launchBolt = function(x, y, length, direction) {
    var boltCanvas, boltContext;
    flashOpacity = 0.15 + Math.random() * 0.2;
    boltCanvas = document.createElement("canvas");
    boltCanvas.width = window.innerWidth;
    boltCanvas.height = window.innerHeight;
    boltContext = boltCanvas.getContext("2d");
    boltContext.scale(scale, scale);
    bolts.push({
      canvas: boltCanvas,
      duration: 0.0
    });
    return recursiveLaunchBolt(x, y, length, direction, boltContext);
  };

  recursiveLaunchBolt = function(x, y, length, direction, boltContext) {
    var boltInterval, originalDirection;
    originalDirection = direction;
    return boltInterval = setInterval((function() {
      var alpha, i, x1, y1;
      if (length <= 0) {
        clearInterval(boltInterval);
        return;
      }
      i = 0;
      while (i++ < Math.floor(45 / scale) && length > 0) {
        x1 = Math.floor(x);
        y1 = Math.floor(y);
        x += Math.cos(direction);
        y -= Math.sin(direction);
        length--;
        if (x1 !== Math.floor(x) || y1 !== Math.floor(y)) {
          alpha = Math.min(1.0, length / 350.0);
          boltContext.fillStyle = `rgba(255, 255, 255, ${alpha})`;
          boltContext.fillRect(x1, y1, 1.0, 1.0);
          direction = originalDirection + (-Math.PI / 8.0 + Math.random() * (Math.PI / 4.0));
          if (Math.random() > 0.98) {
            recursiveLaunchBolt(x1, y1, length * (0.3 + Math.random() * 0.4), originalDirection + (-Math.PI / 6.0 + Math.random() * (Math.PI / 3.0)), boltContext);
          } else if (Math.random() > 0.95) {
            recursiveLaunchBolt(x1, y1, length, originalDirection + (-Math.PI / 6.0 + Math.random() * (Math.PI / 3.0)), boltContext);
            length = 0;
          }
        }
      }
      return void 0;
    }), 10);
  };

  tick = function() {
    var bolt, elapsed, frame, i, j, len, length, x, y;
    frame = (new Date).getTime();
    elapsed = (frame - lastFrame) / 1000.0;
    lastFrame = frame;
    context.clearRect(0.0, 0.0, window.innerWidth, window.innerHeight);
    if (Math.random() > 0.98) {
      x = Math.floor(-10.0 + Math.random() * (width + 20.0));
      y = Math.floor(5.0 + Math.random() * (height / 3.0));
      length = Math.floor(height / 2.0 + Math.random() * (height / 3.0));
      launchBolt(x, y, length, Math.PI * 3.0 / 2.0);
    }
    if (flashOpacity > 0.0) {
      context.fillStyle = `rgba(255, 255, 255, ${flashOpacity})`;
      context.fillRect(0.0, 0.0, window.innerWidth, window.innerHeight);
      flashOpacity = Math.max(0.0, flashOpacity - 2.0 * elapsed);
    }
    for (i = j = 0, len = bolts.length; j < len; i = ++j) {
      bolt = bolts[i];
      bolt.duration += elapsed;
      if (bolt.duration >= totalBoltDuration) {
        bolts.splice(i, 1);
        i--;
        return;
      }
      context.globalAlpha = Math.max(0.0, Math.min(1.0, (totalBoltDuration - bolt.duration) / boltFadeDuration));
      context.drawImage(bolt.canvas, 0.0, 0.0);
    }
    return void 0;
  };

  window.addEventListener("resize", setCanvasSize);

  setCanvasSize();

  setInterval(tick, 1000.0 / fps);

}).call(this);

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiPGFub255bW91cz4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQSxNQUFBLGdCQUFBLEVBQUEsaUJBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxZQUFBLEVBQUEsR0FBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsVUFBQSxFQUFBLG1CQUFBLEVBQUEsS0FBQSxFQUFBLGFBQUEsRUFBQSxJQUFBLEVBQUEsaUJBQUEsRUFBQTs7RUFBQSxNQUFBLEdBQVUsUUFBUSxDQUFDLGNBQVQsQ0FBd0IsUUFBeEI7O0VBQ1YsT0FBQSxHQUFVLE1BQU0sQ0FBQyxVQUFQLENBQWtCLElBQWxCOztFQUVWLEtBQUEsR0FBUzs7RUFDVCxNQUFBLEdBQVM7O0VBQ1QsS0FBQSxHQUFTOztFQUVULEdBQUEsR0FBWTs7RUFDWixTQUFBLEdBQVksQ0FBQyxJQUFJLElBQUwsQ0FBVSxDQUFDLE9BQVgsQ0FBQTs7RUFFWixZQUFBLEdBQWU7O0VBRWYsaUJBQUEsR0FBb0I7O0VBQ3BCLGdCQUFBLEdBQW9COztFQUNwQixpQkFBQSxHQUFvQixpQkFBQSxHQUFvQjs7RUFFeEMsS0FBQSxHQUFROztFQUVSLGFBQUEsR0FBZ0IsUUFBQSxDQUFBLENBQUE7QUFDZixRQUFBLElBQUEsRUFBQSxDQUFBLEVBQUE7SUFBQSxNQUFNLENBQUMsWUFBUCxDQUFvQixPQUFwQixFQUE4QixNQUFNLENBQUMsVUFBckM7SUFDQSxNQUFNLENBQUMsWUFBUCxDQUFvQixRQUFwQixFQUE4QixNQUFNLENBQUMsV0FBckM7SUFFQSxLQUFBLHVDQUFBOztNQUNDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBWixHQUFxQixNQUFNLENBQUM7TUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFaLEdBQXFCLE1BQU0sQ0FBQztJQUY3QjtJQUlBLEtBQUEsR0FBUyxJQUFJLENBQUMsSUFBTCxDQUFVLE1BQU0sQ0FBQyxVQUFQLEdBQXFC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QixFQUFrQyxhQUFsQzs7RUFDQSxhQUFBLENBQUE7O0VBQ0EsV0FBQSxDQUFZLElBQVosRUFBa0IsTUFBQSxHQUFTLEdBQTNCO0FBN0dBIiwic291cmNlc0NvbnRlbnQiOlsiY2FudmFzICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkIFwiY2FudmFzXCJcbmNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCBcIjJkXCJcblxud2lkdGggID0gMC4wXG5oZWlnaHQgPSAwLjBcbnNjYWxlICA9IDEuMFxuXG5mcHMgICAgICAgPSA0NS4wXG5sYXN0RnJhbWUgPSAobmV3IERhdGUpLmdldFRpbWUoKVxuXG5mbGFzaE9wYWNpdHkgPSAwLjBcblxuYm9sdEZsYXNoRHVyYXRpb24gPSAwLjI1XG5ib2x0RmFkZUR1cmF0aW9uICA9IDAuNVxudG90YWxCb2x0RHVyYXRpb24gPSBib2x0Rmxhc2hEdXJhdGlvbiArIGJvbHRGYWRlRHVyYXRpb25cblxuYm9sdHMgPSBbXVxuXG5zZXRDYW52YXNTaXplID0gLT5cblx0Y2FudmFzLnNldEF0dHJpYnV0ZSBcIndpZHRoXCIsICB3aW5kb3cuaW5uZXJXaWR0aFxuXHRjYW52YXMuc2V0QXR0cmlidXRlIFwiaGVpZ2h0XCIsIHdpbmRvdy5pbm5lckhlaWdodFxuXHRcblx0Zm9yIGJvbHQgaW4gYm9sdHNcblx0XHRib2x0LmNhbnZhcy53aWR0aCAgPSB3aW5kb3cuaW5uZXJXaWR0aFxuXHRcdGJvbHQuY2FudmFzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodFxuXHRcblx0d2lkdGggID0gTWF0aC5jZWlsIHdpbmRvdy5pbm5lcldpZHRoICAvIHNjYWxlXG5cdGhlaWdodCA9IE1hdGguY2VpbCB3aW5kb3cuaW5uZXJIZWlnaHQgLyBzY2FsZVxuXG5sYXVuY2hCb2x0ID0gKHgsIHksIGxlbmd0aCwgZGlyZWN0aW9uKSAtPlxuICBcblx0Zmxhc2hPcGFjaXR5ID0gMC4xNSArIE1hdGgucmFuZG9tKCkgKiAwLjJcblx0XG5cdGJvbHRDYW52YXMgICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBcImNhbnZhc1wiXG5cdGJvbHRDYW52YXMud2lkdGggID0gd2luZG93LmlubmVyV2lkdGhcblx0Ym9sdENhbnZhcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHRcblx0Ym9sdENvbnRleHQgICAgICAgPSBib2x0Q2FudmFzLmdldENvbnRleHQgXCIyZFwiXG5cdGJvbHRDb250ZXh0LnNjYWxlIHNjYWxlLCBzY2FsZVxuXG5cdGJvbHRzLnB1c2ggeyBjYW52YXM6IGJvbHRDYW52YXMsIGR1cmF0aW9uOiAwLjAgfVxuXHRcblx0cmVjdXJzaXZlTGF1bmNoQm9sdCB4LCB5LCBsZW5ndGgsIGRpcmVjdGlvbiwgYm9sdENvbnRleHRcblxucmVjdXJzaXZlTGF1bmNoQm9sdCA9ICh4LCB5LCBsZW5ndGgsIGRpcmVjdGlvbiwgYm9sdENvbnRleHQpIC0+XG5cdG9yaWdpbmFsRGlyZWN0aW9uID0gZGlyZWN0aW9uXG5cdFxuXHRib2x0SW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCAoLT5cblx0XHRpZiBsZW5ndGggPD0gMFxuXHRcdFx0Y2xlYXJJbnRlcnZhbCBib2x0SW50ZXJ2YWxcblx0XHRcdHJldHVyblxuXHRcdFxuXHRcdGkgPSAwXG5cdFx0d2hpbGUgaSsrIDwgTWF0aC5mbG9vcig0NSAvIHNjYWxlKSBhbmQgbGVuZ3RoID4gMFxuXHRcdFx0eDEgPSBNYXRoLmZsb29yIHhcblx0XHRcdHkxID0gTWF0aC5mbG9vciB5XG5cdFx0XHR4ICs9IE1hdGguY29zIGRpcmVjdGlvblxuXHRcdFx0eSAtPSBNYXRoLnNpbiBkaXJlY3Rpb25cblx0XHRcdGxlbmd0aC0tXG5cdFx0XHRcblx0XHRcdGlmIHgxICE9IE1hdGguZmxvb3IoeCkgb3IgeTEgIT0gTWF0aC5mbG9vcih5KVxuXHRcdFx0XHRhbHBoYSAgICAgICAgICAgICAgICAgPSBNYXRoLm1pbiAxLjAsIGxlbmd0aCAvIDM1MC4wXG5cdFx0XHRcdGJvbHRDb250ZXh0LmZpbGxTdHlsZSA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAje2FscGhhfSlcIlxuXHRcdFx0XHRib2x0Q29udGV4dC5maWxsUmVjdCB4MSwgeTEsIDEuMCwgMS4wXG5cdFx0XHRcdFxuXHRcdFx0XHRkaXJlY3Rpb24gPSBvcmlnaW5hbERpcmVjdGlvbiArICgtTWF0aC5QSSAvIDguMCArIE1hdGgucmFuZG9tKCkgKiAoTWF0aC5QSSAvIDQuMCkpXG5cdFx0XHRcdFxuXHRcdFx0XHRpZiBNYXRoLnJhbmRvbSgpID4gMC45OFxuXHRcdFx0XHRcdHJlY3Vyc2l2ZUxhdW5jaEJvbHQgeDEsIHkxLCBsZW5ndGggKiAoMC4zICsgTWF0aC5yYW5kb20oKSAqIDAuNCksIG9yaWdpbmFsRGlyZWN0aW9uICsgKC1NYXRoLlBJIC8gNi4wICsgTWF0aC5yYW5kb20oKSAqIChNYXRoLlBJIC8gMy4wKSksIGJvbHRDb250ZXh0XG5cdFx0XHRcdGVsc2UgaWYgTWF0aC5yYW5kb20oKSA+IDAuOTVcblx0XHRcdFx0XHRyZWN1cnNpdmVMYXVuY2hCb2x0IHgxLCB5MSwgbGVuZ3RoLCBvcmlnaW5hbERpcmVjdGlvbiArICgtTWF0aC5QSSAvIDYuMCArIE1hdGgucmFuZG9tKCkgKiAoTWF0aC5QSSAvIDMuMCkpLCBib2x0Q29udGV4dFxuXHRcdFx0XHRcdGxlbmd0aCA9IDBcblx0XHRcblx0XHR1bmRlZmluZWRcblx0KSwgMTBcblxudGljayA9IC0+XG5cdGZyYW1lICAgICA9IChuZXcgRGF0ZSkuZ2V0VGltZSgpXG5cdGVsYXBzZWQgICA9IChmcmFtZSAtIGxhc3RGcmFtZSkgLyAxMDAwLjBcblx0bGFzdEZyYW1lID0gZnJhbWVcblx0XG5cdGNvbnRleHQuY2xlYXJSZWN0IDAuMCwgMC4wLCB3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0XG5cdFxuXHRpZiBNYXRoLnJhbmRvbSgpID4gMC45OFxuXHRcdHggICAgICA9IE1hdGguZmxvb3IgLTEwLjAgKyBNYXRoLnJhbmRvbSgpICogKHdpZHRoICsgMjAuMClcblx0XHR5ICAgICAgPSBNYXRoLmZsb29yIDUuMCArIE1hdGgucmFuZG9tKCkgKiAoaGVpZ2h0IC8gMy4wKVxuXHRcdGxlbmd0aCA9IE1hdGguZmxvb3IgaGVpZ2h0IC8gMi4wICsgTWF0aC5yYW5kb20oKSAqIChoZWlnaHQgLyAzLjApXG5cdFx0XG5cdFx0bGF1bmNoQm9sdCB4LCB5LCBsZW5ndGgsIE1hdGguUEkgKiAzLjAgLyAyLjBcblx0XG5cdGlmIGZsYXNoT3BhY2l0eSA+IDAuMFxuXHRcdGNvbnRleHQuZmlsbFN0eWxlID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsICN7Zmxhc2hPcGFjaXR5fSlcIlxuXHRcdGNvbnRleHQuZmlsbFJlY3QgMC4wLCAwLjAsIHdpbmRvdy5pbm5lcldpZHRoLCB3aW5kb3cuaW5uZXJIZWlnaHRcblx0XHRmbGFzaE9wYWNpdHkgPSBNYXRoLm1heCAwLjAsIGZsYXNoT3BhY2l0eSAtIDIuMCAqIGVsYXBzZWRcblx0XG5cdGZvciBib2x0LCBpIGluIGJvbHRzXG5cdFx0Ym9sdC5kdXJhdGlvbiArPSBlbGFwc2VkXG5cdFx0XG5cdFx0aWYgYm9sdC5kdXJhdGlvbiA+PSB0b3RhbEJvbHREdXJhdGlvblxuXHRcdFx0Ym9sdHMuc3BsaWNlIGksIDFcblx0XHRcdGktLVxuXHRcdFx0cmV0dXJuXG5cdFx0XG5cdFx0Y29udGV4dC5nbG9iYWxBbHBoYSA9IE1hdGgubWF4IDAuMCwgTWF0aC5taW4oMS4wLCAodG90YWxCb2x0RHVyYXRpb24gLSBib2x0LmR1cmF0aW9uKSAvIGJvbHRGYWRlRHVyYXRpb24pXG5cdFx0Y29udGV4dC5kcmF3SW1hZ2UgYm9sdC5jYW52YXMsIDAuMCwgMC4wXG5cdFxuXHR1bmRlZmluZWRcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIgXCJyZXNpemVcIiwgc2V0Q2FudmFzU2l6ZVxuc2V0Q2FudmFzU2l6ZSgpXG5zZXRJbnRlcnZhbCB0aWNrLCAxMDAwLjAgLyBmcHNcbiJdfQ==
//# sourceURL=coffeescript

Comments