# HTML background

0%



# html

<div class="sc__wrapper">
    <!-- scratchcard -->
    <div id="js--sc--container" class="sc__container">
        <!-- background image insert here by scratchcard-js -->
        <!-- canvas generate here -->
    </div>
    <!-- infos -->
    <div class="sc__infos">
        <!-- percent -->
    </div>
</div>

# css

/* ----------------------------------------------
* Generated by Animista on 2019-11-20 21:37:4
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */

/**
* ----------------------------------------
* animation rotate-scale-up
* ----------------------------------------
*/
@-webkit-keyframes rotate-scale-up {
   0% {
       -webkit-transform: scale(1) rotateZ(0);
       transform: scale(1) rotateZ(0);
   }
   50% {
       -webkit-transform: scale(2) rotateZ(180deg);
       transform: scale(2) rotateZ(180deg);
   }
   100% {
       -webkit-transform: scale(1) rotateZ(360deg);
       transform: scale(1) rotateZ(360deg);
   }
}
@keyframes rotate-scale-up {
   0% {
       -webkit-transform: scale(1) rotateZ(0);
       transform: scale(1) rotateZ(0);
   }
   50% {
       -webkit-transform: scale(2) rotateZ(180deg);
       transform: scale(2) rotateZ(180deg);
   }
   100% {
       -webkit-transform: scale(1) rotateZ(360deg);
       transform: scale(1) rotateZ(360deg);
   }
}
.sc__inner {
   position: relative;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
.sc__wrapper {
   display: block;
   width: 100%;
   height: 300px;
   max-width: 300px;
   margin: 0 auto;
   border: 5px solid white;
}

.sc__container {
   position: relative;
   overflow: hidden;
   height: 300px;
   max-width: 300px;
}

.sc__container > img {
   position: relative;
   top: 0;
   left: 0;
   width: 100%;
   height: auto;
}

.sc__container canvas {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: auto;
}

.sc__infos {
   text-align: center;
   height: 40px;
   line-height: 40px;
   margin-top: 5px;
   font-weight: bold;
   font-size: 18px;
}

.inner_html {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: radial-gradient(red, yellow, green);
   display: table;
}

.inner_html p {
   display: table-cell;
   vertical-align: middle;
   text-align: center;
   font-size: 20px;
   font-weight: bold;
   -webkit-animation: rotate-scale-up 1s linear infinite both;
   animation: rotate-scale-up 1s linear infinite both;
}

# Javascript




 





 
 
 



















const scContainer = document.getElementById('js--sc--container')
const scInfos = document.querySelector('.sc__infos');
const sc = new ScratchCard('#js--sc--container', {
  scratchType: SCRATCH_TYPE.CIRCLE,
  containerWidth: scContainer.offsetWidth,
  containerHeight: 300,
  brushSrc: '',
  imageForwardSrc: '/images/scratchcard.jpg',
  imageBackgroundSrc: '',
  htmlBackground: `<div class="inner_html"><p>Html content</p></div>`,
  clearZoneRadius: 30,
  nPoints: 50,
  pointSize: 4,
  callback: function () {
    alert('Now the window will reload !')
    window.location.reload()
  }
})

// Init
sc.init().then(() => {
  sc.canvas.addEventListener('scratch.move', () => {
    let percent = sc.getPercent().toFixed(0);
    scInfos.innerHTML = percent + '%';
    console.log(percent)
  })
}).catch((error) => {
  // image not loaded
  alert(error.message);
});