簡體   English   中英

有人可以向我解釋使用JS / jQuery創建網格的此功能嗎?

[英]Can someone explain me this function for creating grid with JS/jQuery?

我正在學習jquery / js,我想創建由div組成的網格。 這只是腳本,但是我無法完全理解它。

function displayGrid (n) {
    var size = 960;
    var boxSize = (960 - 4*n)/n;
    var wrap = $(".wrap").html("");
    for (var j = 0; j < n; j++) {
        for (var i = 0; i < n; i++) {
            wrap.append( $("<div></div>").addClass("square").height(boxSize).width(boxSize) );
        }
        wrap.append($("<div></div>").css("clear", "both"));
    }
}

在html中,我有空包裝類。

另外,我了解這個功能:)

function setGrid() {
    var col = prompt("Enter number of columns: ");
    displayGrid(col);
    clean();
}

謝謝

這是逐行的基本說明。

    function displayGrid (n) {
        var size = 960;    //MAX SIZE TO BE COVERED BY ALL DIVS ,EVEN IF THERE ARE N NO OF DIV'S

        var boxSize = (960 - 4*n)/n;  //FORMULA TO DECIDE WIDTH OF EACH DIV,CAN BE DIFFERENT TOO.

        var wrap = $(".wrap").html(""); //THIS IS A DIV PROBABLY WHERE YOU ARE ADDING THE NEW SMALLER DIVS

        for (var j = 0; j < n; j++) {
            for (var i = 0; i < n; i++) {
                  //TWO FOR LOOPS ,1 IS FOR LOOP THROUGH ROWS , OTHER FOR COLUMNS.

                wrap.append( $("<div></div>").addClass("square").height(boxSize).width(boxSize) );

//THIS APPENDS A BLANK DIV TO DIV WITH CLASS .WRAP, AND ADDS A CLASS SQAURE, AND ALSO WITH WIDTH AND HEIGHT PROPERTY SETS EACH DIVS PROPERTY OF WIDTH AND HEIGHT.
            }
            wrap.append($("<div></div>").css("clear", "both"));

          //THIS SHOULD BE TO MOVE TO NEXT COLUMN.
        } }

這是注釋的代碼:

//n-> seems to be the number of times to divide the grid
//1-> will get 1 square
//2-> will get 4 square
//3-> will get 9 square and so on... n^2
function displayGrid (n) {
    var size = 960;

    //This seems to calculate size of the squares to fit inside the give area
    // of 960: 960/4
    //-4*n I guess is the border size to remove from each square in order to have an exact match
    var boxSize = (960 - 4*n)/n;

    //this get the grit container, empties it
    var wrap = $(".wrap").html("");

    //now print each square on the document 
    for (var j = 0; j < n; j++) { //columns
        for (var i = 0; i < n; i++) { //rows
            wrap.append( $("<div></div>").addClass("square").height(boxSize).width(boxSize) );
        }

        //this is done to go in the next row, since we are using divs...
        wrap.append($("<div></div>").css("clear", "both"));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM