首頁  >  文章  >  每日程式設計  >  原生JS實現別踩白塊小遊戲(五)

原生JS實現別踩白塊小遊戲(五)

藏色散人
藏色散人原創
2018-12-28 11:41:455745瀏覽



關於原生JS實作別踩到白塊小遊戲的方法,我們繼續接著上篇文章內容《原生JS實現別踩白塊小遊戲(四)》,來為大家帶來CDiv方法中的具體程式碼解析。

原生JS實現別踩白塊小遊戲(五)

別踩到白塊小遊戲原始碼中相關js部分如下:

<script>
    var main = document.getElementById(&#39;main&#39;)
    go = document.getElementById(&#39;go&#39;)
    count = document.getElementById(&#39;count&#39;);
//设置四种颜色
    cols = [&#39;#1AAB8A&#39;, &#39;#E15650&#39;, &#39;#121B39&#39;, &#39;#80A84E&#39;];
//动态创建div
    function CDiv(classname) {
        var Div = document.createElement(&#39;div&#39;)
        //生成随机数
        index = Math.floor(Math.random() * 4)
        //添加class
        Div.className = classname
        //循环创建div为块
        for (var i = 0; i < 4; i++) {
            var iDiv = document.createElement(&#39;div&#39;)
            Div.appendChild(iDiv)
        }
        if (main.children.length == 0) {
            main.appendChild(Div);
        } else {
            main.insertBefore(Div, main.children[0]);
        }
 
        Div.children[index].style.backgroundColor = cols[index];
        Div.children[index].className = "i";
    }
</script>

此段程式碼中,我們在for迴圈體中,透過document.createElement('div')定義了一個變數iDiv,然後透過appendChild() 方法向前面動態建立的Div下,循環加入子元素即iDiv。

這裡動態建立的Div則表示遊戲中的行,新增的iDiv則表示一行中的四個方塊。

接著透過if判斷語句,判斷main下是否存在子元素,如果不存在則透過appendChild方法新增子節點,如果存在則透過insertBefore在已有的子節點之前插入新的子節點。

最後透過產生隨機數,將一行中的方塊隨機新增背景顏色並加上cla​​ss為"i"。這裡我們定義了變數cols為四種顏色。

                      原生JS實現別踩白塊小遊戲(五)                   。末尾新增的子節點。

insertBefore() 方法在您指定的已有子節點之前插入新的子節點。

本節就是關於別踩白塊小遊戲中CDiv方法的具體介紹,那麼由於文章篇幅的原因,我們會在後期的文章中,繼續為大家解析剩餘的js程式碼部分。

以上是原生JS實現別踩白塊小遊戲(五)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn