Unbelievable Awesome Image Effects using CSS & Javascript

Unbelievable Awesome Image Effects using CSS & Javascript



All Source Code : https://www.patreon.com/onlinetutorials Get now more than 1000+ source code just by clicking on this link …

source

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Awesome Javascript Effect</title>
	<link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <div class="box" style="--img:url(img1.jpg);"></div>
    <div class="box" style="--img:url(img2.jpg);"></div>
    <div class="box" style="--img:url(img3.jpg);"></div>
  </div>
  <script>
    document.addEventListener('DOMContentLoaded', function(){
      let boxes = document.querySelectorAll('.box');
      boxes.forEach(function(box){
        let spans = [];
        for (let i = 0; i < 200; i++){
          let span = document.createElement('span');
          spans.push(span);
          box.appendChild(span);
          span.style.top = `${i * 1.5}px`;
          span.style.backgroundPositionY = `${i * -1.5}px`;
          span.style.transitionDelay = (Math.random() * 1.5) + 0 + 's';
        }
        box.addEventListener('click', function(){
          box.classList.toggle('active');
          spans.forEach(function(span){
            span.style.setProperty('--x',Math.floor(Math.random() * 400 - 200) + 'px');
            span.style.setProperty('--r',Math.floor(Math.random() * 360 - 0) + 'deg');
          })
        })
      })
    })
  </script>
</body>
</html>
*
{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body 
{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #363a3b;
  overflow: hidden;
}
.container 
{
  position: relative;
  display: flex;
  gap: 50px;
}
.container .box 
{
  position: relative;
  width: 300px;
  height: 300px;
  cursor: pointer;
}
.container .box span 
{
  position: absolute;
  width: 300px;
  height: 2px;
  background: var(--img);
  background-size: 300px;
  pointer-events: none;
  transition: 0.5s ease-in-out;
}
.container .box.active span 
{
  transform: translateX(var(--x)) rotate(var(--r));
}

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *