最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用js實現(xiàn)拼圖小游戲

 更新時間:2021年03月14日 14:21:40   作者:我愛H5  
這篇文章主要為大家詳細(xì)介紹了用js實現(xiàn)拼圖小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了js實現(xiàn)拼圖小游戲的具體代碼,供大家參考,具體內(nèi)容如下

一、js拼圖是什么?

用js做得小游戲

二、使用步驟

1、先創(chuàng)建div盒子

 <style>
    div,body{
      margin: 0;
      height: 0;
    }
    #box{
      width: 800px;
      height: 800px;
      background-color: burlywood;
      position: relative;
    }
    #box div {
      width: 200px;
      height: 200px;
      background: url(./imgs/bg.jpg) no-repeat;
      position: absolute;

    }

  </style>
</head>
<body>
  <div id="box"></div>
</body>

2.寫js

<script>
  // 獲取標(biāo)簽
  var box = document.getElementById("box");
  var arrs = [];
  // 循環(huán)創(chuàng)建16個對象,添加到數(shù)組中
  for(var i = 0; i < 4; i++){
    for(var j = 0; j < 4; j++){
      var divNode = document.createElement("div")
      divNode.style.top = 200 * i + "px"
      divNode.style.left = 200 * j + "px"

      // 創(chuàng)建對象
      var pox = {
        left: 200* i,
        top:200*j,
      }
      // 創(chuàng)建好的對象添加到數(shù)組里
      if( i !== 3 || j !== 3 ){
        arrs.push(pox)
      }else{
        divNode.style.background = "none";
        divNode.className = "space"
      }
      box.appendChild(divNode)
    }
  }
  console.log(arrs);

  // 隨機抽取對象
  for(var i = 0; i < 15; i++){
    var ranNum = parseInt(Math.random() * (15 - i))
    var x = arrs[ranNum].left;
    var y = arrs[ranNum].top;

    box.children[i].style.backgroundPosition = - x + "px "+ - y + "px";
    arrs.splice(ranNum,1);
  }

  // 鍵盤事件
  document.onkeyup = function(event) {
    // 得到按的那個鍵
    var key = event.keyCode
    // 上
    if (key == 38) {

      var x = box.querySelector(".space").style.left
     var y = box.querySelector(".space").style.top
    for (var i = 0; i < 16; i++) {
      if (parseInt(box.children[i].style.top) == parseInt(y) - 200 && parseInt(box.children[i].style.left) == parseInt(x)) {
        box.children[i].style.top = y
        box.querySelector(".space").style.top = parseInt(y) - 200 + "px"
      }
    }
     
    // 下
    }else if (key == 40) {
      
      var x = box.querySelector(".space").style.left
      var y = box.querySelector(".space").style.top
      
      // 遍歷所有小div,找到空白上面得那張 賦值 為y
      for(var i = 0; i < 16; i++){
        if (parseInt(box.children[i].style.top) == parseInt(y) + 200 && parseInt(box.children[i].style.left) == parseInt(x)) {
          box.children[i].style.top = y
        box.querySelector(".space").style.top = parseInt(y) + 200 + "px"
        }
      }

    // 左
    }else if (key = 38) {
      var x = box.querySelector(".space").style.left
     var y = box.querySelector(".space").style.top
    for (var i = 0; i < 16; i++) {
      if (parseInt(box.children[i].style.left) == parseInt(x) - 200 && parseInt(box.children[i].style.top) == parseInt(y)) {
        box.children[i].style.left = x
        box.querySelector(".space").style.left = parseInt(x) - 200 + "px"
      }
    }
     

    // 右 
    }else if (key = 39) {
      var x = box.querySelector(".space").style.left
     var y = box.querySelector(".space").style.top
    for (var i = 0; i < 16; i++) {
      if (parseInt(box.children[i].style.left) == parseInt(x) + 200 && parseInt(box.children[i].style.top) == parseInt(y)) {
        box.children[i].style.left = x
        box.querySelector(".space").style.left = parseInt(x) + 200 + "px"
      }
    }
    }

  }

</script>

效果圖

完成效果圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript文檔加載模式以及元素獲取

    JavaScript文檔加載模式以及元素獲取

    這篇文章主要介紹了JavaScript文檔加載模式以及元素獲取,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • js 控制頁面跳轉(zhuǎn)的5種方法

    js 控制頁面跳轉(zhuǎn)的5種方法

    這篇文章介紹了js 控制頁面跳轉(zhuǎn)的5種方法,有需要的朋友可以參考一下
    2013-09-09
  • JS實現(xiàn)微信彈出搜索框 多條件查詢功能

    JS實現(xiàn)微信彈出搜索框 多條件查詢功能

    這篇文章主要介紹了JS實現(xiàn)微信彈出搜索框 多條件查詢功能的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • 根據(jù)出生日期自動取得星座的js代碼

    根據(jù)出生日期自動取得星座的js代碼

    最近這個項目需要注冊時用戶填寫出生日期,然后自動取得星座,想想好像用后臺代碼太麻煩只好轉(zhuǎn)而使用JavaScript。
    2010-07-07
  • 淺談JavaScript中null和undefined

    淺談JavaScript中null和undefined

    本文對比分析了javascript中的null和underfined的相同點和不同點,算是一個小小的總結(jié),希望對大家學(xué)習(xí)javascript能夠有所幫助。
    2015-07-07
  • JavaScript中async與await實現(xiàn)原理與細(xì)節(jié)

    JavaScript中async與await實現(xiàn)原理與細(xì)節(jié)

    這篇文章主要介紹了JavaScript中async與await實現(xiàn)原理與細(xì)節(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • js類式繼承與原型式繼承詳解

    js類式繼承與原型式繼承詳解

    這篇文章主要為大家詳細(xì)介紹了js類式繼承與原型式繼承,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript this關(guān)鍵字指向常用情況解析

    JavaScript this關(guān)鍵字指向常用情況解析

    這篇文章主要介紹了JavaScript this關(guān)鍵字指向常用情況解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • JavaScript獲取客戶端IP的方法(新方法)

    JavaScript獲取客戶端IP的方法(新方法)

    這篇文章主要介紹了JavaScript獲取客戶端IP的方法(新方法)的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 手機端js和html5刮刮卡效果

    手機端js和html5刮刮卡效果

    這篇文章主要為大家詳細(xì)介紹了手機端js和html5刮刮卡效果,刮開之后是隨機生成的8位碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論

桐乡市| 平泉县| 工布江达县| 伊金霍洛旗| 长沙县| 苍梧县| 中西区| 新津县| 衡阳市| 维西| 增城市| 上虞市| 汉中市| 西丰县| 新乡县| 台中市| 隆尧县| 白河县| 大兴区| 斗六市| 伊川县| 寿宁县| 天门市| 南江县| 牙克石市| 噶尔县| 沾化县| 阿鲁科尔沁旗| 荣成市| 惠州市| 外汇| 溆浦县| 赤水市| 长治市| 牡丹江市| 崇州市| 若尔盖县| 五台县| 新昌县| 淮滨县| 淄博市|