A DOM-Based Sliding Puzzle: Building the DOM Tree | WebReference

A DOM-Based Sliding Puzzle: Building the DOM Tree


A DOM-Based Sliding Puzzle (5)

Building the DOM Tree

As you saw from the main script, building the DOM tree is based on two functions: addOneRow() and addBR(). The addOneRow() function adds one row to the puzzle:

function addOneRow() {
  for (i=0; i < 3; i++) {
    tempSquareNode = squareNode.cloneNode();
    divNode.appendChild(tempSquareNode);
  }
}

The function is based on cloning and appending. First we clone the squareNode node that we created in the main script:

tempSquareNode = squareNode.cloneNode();

Once we have a new node, tempSquareNode, we append it to the DIV containter node, divNode:

divNode.appendChild(tempSquareNode);

The function just loops three times over the above cloning-appending pair, once per a puzzle square in a row. Cloning and appending nodes is explained in detailed in Column 43.

The addBr() function is very similar to the addOneRow() function above, except that it does the cloning-appending pair just once:

function addBr() {
  tempBrNode = brNode.cloneNode();
  divNode.appendChild(tempBrNode);
}

The cloning here is after the brNode node that we created in the main script. Of course, we could have created these nodes from scratch using the createElement() function, as we created the nodes brNode and squareNode in the main script.

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

Created: August 2, 1999
Revised: August 2, 1999

URL: http://www.webreference.com/js/column45/build.html