{"id":3674,"date":"2022-10-08T05:04:27","date_gmt":"2022-10-08T00:04:27","guid":{"rendered":"https:\/\/www.edopedia.com\/blog\/?p=3674"},"modified":"2022-10-08T05:04:30","modified_gmt":"2022-10-08T00:04:30","slug":"memory-cards-game-with-timer-in-html5-css3-javascript","status":"publish","type":"post","link":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/","title":{"rendered":"Memory Cards Game with Timer in HTML5, CSS3 &#038; JavaScript"},"content":{"rendered":"\n<p>In this tutorial, I will teach you\u00a0<strong>how to make a Memory Cards Game with Timer<\/strong>\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this JavaScript Memory Cards Game with a Time Limit functionality is given below.<\/p>\n\n\n\n<p>You can download the full source code (including images) of this JavaScript Memory Cards Game with Timer at the end of this article.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source Code of JavaScript Memory Cards Game with Timer<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">index.html<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;htmlmixed&quot;,&quot;mime&quot;:&quot;text\/html&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;HTML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;html&quot;}\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;\n  &lt;head&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;  \n    &lt;title&gt;Memory Cards Game with Timer&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n      &lt;ul class=&quot;cards&quot;&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-1.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-2.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-3.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-4.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-5.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-6.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-5.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-6.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-1.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-2.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-3.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;li class=&quot;card&quot;&gt;\n          &lt;div class=&quot;view front-view&quot;&gt;\n            &lt;img src=&quot;images\/que_icon.svg&quot; alt=&quot;icon&quot;&gt;\n          &lt;\/div&gt;\n          &lt;div class=&quot;view back-view&quot;&gt;\n            &lt;img src=&quot;images\/img-4.png&quot; alt=&quot;card-img&quot;&gt;\n          &lt;\/div&gt;\n        &lt;\/li&gt;\n        &lt;div class=&quot;details&quot;&gt;\n          &lt;p class=&quot;time&quot;&gt;Time: &lt;span&gt;&lt;b&gt;20&lt;\/b&gt;s&lt;\/span&gt;&lt;\/p&gt;\n          &lt;p class=&quot;flips&quot;&gt;Flips: &lt;span&gt;&lt;b&gt;0&lt;\/b&gt;&lt;\/span&gt;&lt;\/p&gt;\n          &lt;button&gt;Refresh&lt;\/button&gt;\n        &lt;\/div&gt;\n      &lt;\/ul&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;script.js&quot;&gt;&lt;\/script&gt;\n    \n  &lt;\/body&gt;\n&lt;\/html&gt;<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">script.js<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;text\/javascript&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;js&quot;}\">const cards = document.querySelectorAll(&quot;.card&quot;),\ntimeTag = document.querySelector(&quot;.time b&quot;),\nflipsTag = document.querySelector(&quot;.flips b&quot;),\nrefreshBtn = document.querySelector(&quot;.details button&quot;);\n\nlet maxTime = 20;\nlet timeLeft = maxTime;\nlet flips = 0;\nlet matchedCard = 0;\nlet disableDeck = false;\nlet isPlaying = false;\nlet cardOne, cardTwo, timer;\n\nfunction initTimer() {\n    if(timeLeft &lt;= 0) {\n        return clearInterval(timer);\n    }\n    timeLeft--;\n    timeTag.innerText = timeLeft;\n}\n\nfunction flipCard({target: clickedCard}) {\n    if(!isPlaying) {\n        isPlaying = true;\n        timer = setInterval(initTimer, 1000);\n    }\n    if(clickedCard !== cardOne &amp;&amp; !disableDeck &amp;&amp; timeLeft &gt; 0) {\n        flips++;\n        flipsTag.innerText = flips;\n        clickedCard.classList.add(&quot;flip&quot;);\n        if(!cardOne) {\n            return cardOne = clickedCard;\n        }\n        cardTwo = clickedCard;\n        disableDeck = true;\n        let cardOneImg = cardOne.querySelector(&quot;.back-view img&quot;).src,\n        cardTwoImg = cardTwo.querySelector(&quot;.back-view img&quot;).src;\n        matchCards(cardOneImg, cardTwoImg);\n    }\n}\n\nfunction matchCards(img1, img2) {\n    if(img1 === img2) {\n        matchedCard++;\n        if(matchedCard == 6 &amp;&amp; timeLeft &gt; 0) {\n            return clearInterval(timer);\n        }\n        cardOne.removeEventListener(&quot;click&quot;, flipCard);\n        cardTwo.removeEventListener(&quot;click&quot;, flipCard);\n        cardOne = cardTwo = &quot;&quot;;\n        return disableDeck = false;\n    }\n\n    setTimeout(() =&gt; {\n        cardOne.classList.add(&quot;shake&quot;);\n        cardTwo.classList.add(&quot;shake&quot;);\n    }, 400);\n\n    setTimeout(() =&gt; {\n        cardOne.classList.remove(&quot;shake&quot;, &quot;flip&quot;);\n        cardTwo.classList.remove(&quot;shake&quot;, &quot;flip&quot;);\n        cardOne = cardTwo = &quot;&quot;;\n        disableDeck = false;\n    }, 1200);\n}\n\nfunction shuffleCard() {\n    timeLeft = maxTime;\n    flips = matchedCard = 0;\n    cardOne = cardTwo = &quot;&quot;;\n    clearInterval(timer);\n    timeTag.innerText = timeLeft;\n    flipsTag.innerText = flips;\n    disableDeck = isPlaying = false;\n\n    let arr = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6];\n    arr.sort(() =&gt; Math.random() &gt; 0.5 ? 1 : -1);\n\n    cards.forEach((card, index) =&gt; {\n        card.classList.remove(&quot;flip&quot;);\n        let imgTag = card.querySelector(&quot;.back-view img&quot;);\n        setTimeout(() =&gt; {\n            imgTag.src = `images\/img-${arr[index]}.png`;\n        }, 500);\n        card.addEventListener(&quot;click&quot;, flipCard);\n    });\n}\n\nshuffleCard();\n\nrefreshBtn.addEventListener(&quot;click&quot;, shuffleCard);\n\ncards.forEach(card =&gt; {\n    card.addEventListener(&quot;click&quot;, flipCard);\n});<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">style.css<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;css&quot;,&quot;mime&quot;:&quot;text\/css&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;CSS&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;css&quot;}\">\/* Import Google Font - Poppins *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&amp;display=swap');\n*{\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  font-family: 'Poppins', sans-serif;\n}\np{\n  font-size: 20px;\n}\nbody{\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 100vh;\n  background: #6563ff;\n}\n::selection{\n  color: #fff;\n  background: #6563ff;\n}\n.wrapper{\n  padding: 25px;\n  background: #f8f8f8;\n  border-radius: 10px;\n  box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n}\n.cards, .card, .view, .details, p{\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.cards{\n  height: 350px;\n  width: 350px;\n  flex-wrap: wrap;\n  justify-content: space-between;\n}\n.cards .card{\n  cursor: pointer;\n  position: relative;\n  perspective: 1000px;\n  transform-style: preserve-3d;\n  height: calc(100% \/ 4 - 10px);\n  width: calc(100% \/ 4 - 10px);\n}\n.card.shake{\n  animation: shake 0.35s ease-in-out;\n}\n@keyframes shake {\n  0%, 100%{\n    transform: translateX(0);\n  }\n  20%{\n    transform: translateX(-13px);\n  }\n  40%{\n    transform: translateX(13px);\n  }\n  60%{\n    transform: translateX(-8px);\n  }\n  80%{\n    transform: translateX(8px);\n  }\n}\n.cards .card .view{\n  width: 100%;\n  height: 100%;\n  user-select: none;\n  pointer-events: none;\n  position: absolute;\n  background: #fff;\n  border-radius: 7px;\n  backface-visibility: hidden;\n  transition: transform 0.25s linear;\n  box-shadow: 0 3px 10px rgba(0,0,0,0.1);\n}\n.card .front-view img{\n  max-width: 17px;\n}\n.card .back-view{\n  transform: rotateY(-180deg);\n}\n.card .back-view img{\n  max-width: 40px;\n}\n.card.flip .front-view{\n  transform: rotateY(180deg);\n}\n.card.flip .back-view{\n  transform: rotateY(0);\n}\n\n.details{\n  width: 100%;\n  margin-top: 15px;\n  padding: 0 20px;\n  border-radius: 7px;\n  background: #fff;\n  height: calc(100% \/ 4 - 30px);\n  justify-content: space-between;\n  box-shadow: 0 3px 10px rgba(0,0,0,0.1);\n}\n.details p{\n  font-size: 18px;\n  height: 17px;\n  padding-right: 18px;\n  border-right: 1px solid #ccc;\n}\n.details p span{\n  margin-left: 8px;\n}\n.details p b{\n  font-weight: 500;\n}\n.details button{\n  cursor: pointer;\n  font-size: 14px;\n  color: #6563ff;\n  border-radius: 4px;\n  padding: 4px 11px;\n  background: #fff;\n  border: 2px solid #6563ff;\n  transition: 0.3s ease;\n}\n.details button:hover{\n  color: #fff;\n  background: #6563ff;\n}\n\n@media screen and (max-width: 700px) {\n  .cards{\n    height: 350px;\n    width: 350px;\n  }\n  .card .front-view img{\n    max-width: 16px;\n  }\n  .card .back-view img{\n    max-width: 40px;\n  }\n}\n\n@media screen and (max-width: 530px) {\n  .cards{\n    height: 300px;\n    width: 300px;\n  }\n  .card .back-view img{\n    max-width: 35px;\n  }\n  .details{\n    margin-top: 10px;\n    padding: 0 15px;\n    height: calc(100% \/ 4 - 20px);\n  }\n  .details p{\n    height: 15px;\n    font-size: 17px;\n    padding-right: 13px;\n  }\n  .details button{\n    font-size: 13px;\n    padding: 5px 10px;\n    border: none;\n    color: #fff;\n    background: #6563ff;\n  }\n}<\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Download Source Code (including images)<\/h2>\n\n\n<p><a class=\"ep_link_major\" href=\"https:\/\/edopedia.com\/assets\/downloads\/static\/javascript_memory_cards_game_with_timer.zip\" target=\"_blank\" rel=\"noopener\" download=\"\">Download<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this JavaScript Memory Cards Game with a Time Limit functionality is given below. You can download the full source code (including images) of this JavaScript Memory Cards Game with Timer at &#8230; <a title=\"Memory Cards Game with Timer in HTML5, CSS3 &#038; JavaScript\" class=\"read-more\" href=\"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/\" aria-label=\"Read more about Memory Cards Game with Timer in HTML5, CSS3 &#038; JavaScript\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":3676,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[112],"tags":[],"class_list":["post-3674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Memory Cards Game with Timer in HTML5, CSS3 &amp; JavaScript<\/title>\n<meta name=\"description\" content=\"In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Memory Cards Game with Timer in HTML5, CSS3 &amp; JavaScript\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Edopedia\" \/>\n<meta property=\"article:author\" content=\"trulyfurqan\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-08T00:04:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-08T00:04:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"880\" \/>\n\t<meta property=\"og:image:height\" content=\"495\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Furqan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Furqan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Memory Cards Game with Timer in HTML5, CSS3 & JavaScript","description":"In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Memory Cards Game with Timer in HTML5, CSS3 & JavaScript","og_description":"In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this","og_url":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/","og_site_name":"Edopedia","article_author":"trulyfurqan","article_published_time":"2022-10-08T00:04:27+00:00","article_modified_time":"2022-10-08T00:04:30+00:00","og_image":[{"width":880,"height":495,"url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg","type":"image\/jpeg"}],"author":"Furqan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Furqan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#article","isPartOf":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/"},"author":{"name":"Furqan","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/person\/3951cb19e3aa56df09e408c98aa02339"},"headline":"Memory Cards Game with Timer in HTML5, CSS3 &#038; JavaScript","datePublished":"2022-10-08T00:04:27+00:00","dateModified":"2022-10-08T00:04:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/"},"wordCount":92,"commentCount":0,"publisher":{"@id":"https:\/\/www.edopedia.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg","articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/","url":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/","name":"Memory Cards Game with Timer in HTML5, CSS3 & JavaScript","isPartOf":{"@id":"https:\/\/www.edopedia.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg","datePublished":"2022-10-08T00:04:27+00:00","dateModified":"2022-10-08T00:04:30+00:00","description":"In this tutorial, I will teach you\u00a0how to make a Memory Cards Game with Timer\u00a0using HTML5, CSS3, and JavaScript. The complete source code of this","breadcrumb":{"@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#primaryimage","url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg","contentUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Memory-Cards-Game-with-timer-in-HTML-CSS-JavaScript.jpg","width":880,"height":495,"caption":"Memory Cards Game with Timer in HTML5, CSS3 & JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.edopedia.com\/blog\/memory-cards-game-with-timer-in-html5-css3-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.edopedia.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Memory Cards Game with Timer in HTML5, CSS3 &#038; JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.edopedia.com\/blog\/#website","url":"https:\/\/www.edopedia.com\/blog\/","name":"Edopedia","description":"Coding\/Programming Blog","publisher":{"@id":"https:\/\/www.edopedia.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.edopedia.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.edopedia.com\/blog\/#organization","name":"Edopedia","url":"https:\/\/www.edopedia.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2017\/10\/edopedia_icon_text_10.jpg","contentUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2017\/10\/edopedia_icon_text_10.jpg","width":400,"height":100,"caption":"Edopedia"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/person\/3951cb19e3aa56df09e408c98aa02339","name":"Furqan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e5e68aef3ad8f0b83d56f4953c512c8e57bd2e6dc64daec33b5d0495d9058f51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e5e68aef3ad8f0b83d56f4953c512c8e57bd2e6dc64daec33b5d0495d9058f51?s=96&d=mm&r=g","caption":"Furqan"},"description":"Well. I've been working for the past three years as a web designer and developer. I have successfully created websites for small to medium sized companies as part of my freelance career. During that time I've also completed my bachelor's in Information Technology.","sameAs":["http:\/\/www.edopedia.com\/blog\/","trulyfurqan"],"url":"https:\/\/www.edopedia.com\/blog\/author\/furqan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/comments?post=3674"}],"version-history":[{"count":1,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3674\/revisions"}],"predecessor-version":[{"id":3675,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3674\/revisions\/3675"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/media\/3676"}],"wp:attachment":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/media?parent=3674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/categories?post=3674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/tags?post=3674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}