05-javascript基礎学習ノート
12405 ワード
1.ノードの操作###
バックグラウンドから返されたデータに基づいてノードを作成し、前に書いた操作:ページ構造を書き、domツリーでノードを取得し、取得したノードを操作します.今日はdomノードの作成、追加、削除、挿入について学びます.
親要素var body=documentを最初に取得します.getElementsByTagName("body")[0];ノード を作成して追加削除ノード 挿入ノード ノードの取得(サブノード、親ノード、兄弟ノード)サブノードの取得(擬似配列を返す) 兄弟ノード 親ノード
2.dateの認識###
1.現在の時間var myDate=new Date()を表す時間オブジェクトを作成します.
2.現在時刻のタイムスタンプは、1970年1月1日からのミリ秒数を取得し、unixの誕生を記念するための時間
4.自分のタイムスタンプを定義する
3.js三部####
1.ECMA仕様2.DOM(文書オブジェクトモデル)3.BOM(ブラウザオブジェクトモデル)
borderボーダーnoneと0####
インタフェースのすべての内容はレンダリングされ、枠線がnoneに設定されている場合はレンダリングされず、0に設定されている場合はレンダリングされます.
this###
通常はイベントコマンドに配置され、誰がこのイベントをトリガーしたかを表し、通常はイベントソースです.
イベントドメイン####
動的ノードが追加されると、動的ノードが存在する{}内がイベントドメインになります.
forサイクル中のi++と++i###第1サイクルにおけるi++と++iの区別はない すべての言語は実行中に最終的にマシン言語(アセンブリ言語)に移行し、i++はマシン言語に中間変数を作成し、++iはできないため、++iの性能はi++ より高い.人々はずっとi++を使っていて、++iの性能がi++よりやや高いことを発見したとき、すでに習慣を身につけました.だからいつもi++ を使っています
九宮格アルゴリズム(掌握)####行番号と列番号の計算 動的作成ノードアプリケーション 次は九宮格を動的に作成するコードです
CSSコード:
HTMLコード:
JSコード:
微博を発表
ulを作成すると、クリックイベントの外に作成されます.ボタン(挿入)1をクリックする.入力ボックスの内容が空であるか否かを判断する、そうであればヒントが空である、そうでなければliノード2を追加する.ノードを追加する場合は、ulにノードがあるかどうかを判断する必要があり、ない場合は直接追加し、ある場合は最初の前の に挿入する.ボタン(削除)1.liを削除し、aラベルを取得し、aラベル配列を遍歴し、それぞれクリックイベントを追加します.クリックすると対応するli が削除される.
次はコードです
CSSコード:
HTMLコード:
バックグラウンドから返されたデータに基づいてノードを作成し、前に書いた操作:ページ構造を書き、domツリーでノードを取得し、取得したノードを操作します.今日はdomノードの作成、追加、削除、挿入について学びます.
親要素var body=documentを最初に取得します.getElementsByTagName("body")[0];
/* 1. */
var btnAdd = document.getElementsByTagName("button")[0];
var box;
btnAdd.onclick = function () {
/*1.2 ( document )*/
box = document.createElement("div");
/* */
box.style.width = 100 + "px";
box.style.height = 100 + "px";
box.style.background = "yellow";
/* 1.3 ( )*/
body.appendChild(box);
};
/* 2. , */
var btnDel = document.getElementsByTagName("button")[1];
btnDel.onclick= function () {
body.removeChild(box);
};
/* 3. , */
var btnIns = document.getElementsByTagName("button")[2];
btnIns.onclick = function () {
//
var box1 = document.createElement("div");
//
box1.style.width = 100+"px";
box1.style.height = 100+"px";
box1.style.background = "pink";
// ,
// ,
body.insertBefore(box1,box);
};
box ,childNodes , ,
var rst = box.childNodes;
children ,
var myChildren = box.children;
console.log(myChildren.length);
//1. btn1
var btn1 = document.getElementById("btn1");
//2.
/* nextElementSibling: ,
* IE , nextSibling ie
* */
var brotherSym = btn1.nextElementSibling||btn1.nextSibling;
console.log(brotherSym);
//1. btn1
var btn1 = document.getElementById("btn1");
//2.
var parentSym = btn1. parentNode;
console.log(parentSym);
2.dateの認識###
1.現在の時間var myDate=new Date()を表す時間オブジェクトを作成します.
2.現在時刻のタイムスタンプは、1970年1月1日からのミリ秒数を取得し、unixの誕生を記念するための時間
var minS = myDate.getTime();
3.32ビットは最大2の32回しか記憶できないので、32ビットのパソコンのdateオブジェクトは最大2038年までしか取得できません.4.自分のタイムスタンプを定義する
var myDate = new Date("2017/07/03 18:20:20");
5.dateオブジェクトの関連方法// 1.
var myDate = new Date();
// 2.1
var year = myDate.getFullYear();
// 2.2 , 0 11
var month = myDate.getMonth();
// 2.3 ,0 ,
var day = myDate.getDate();
// 2.4
var weekDay = myDate.getDay();
// 2.5
var hour = myDate.getHours();
// 2.6
var min = myDate.getMinutes();
// 2.7
var second = myDate.getSeconds();
// 2.8
var mins = myDate.getMilliseconds();
3.js三部####
1.ECMA仕様2.DOM(文書オブジェクトモデル)3.BOM(ブラウザオブジェクトモデル)
borderボーダーnoneと0####
インタフェースのすべての内容はレンダリングされ、枠線がnoneに設定されている場合はレンダリングされず、0に設定されている場合はレンダリングされます.
this###
通常はイベントコマンドに配置され、誰がこのイベントをトリガーしたかを表し、通常はイベントソースです.
イベントドメイン####
動的ノードが追加されると、動的ノードが存在する{}内がイベントドメインになります.
forサイクル中のi++と++i###
for( ; ; ){
//
}
九宮格アルゴリズム(掌握)####
CSSコード:
#box{
position: relative;
}
/* ,
*/
.newBox{
width: 100px;
height: 100px;
position: absolute;
background: yellow;
border-radius: 10px;
display: inline-block;
}
HTMLコード:
JSコード:
//1.
var btn = document.getElementsByTagName("button");
var box = document.getElementById("box");
//2.
//2.1 ,
var index = 0;
btn[0].onclick = function () {
index++;
//2.1
var div = document.createElement("div");
//2.2 —
div.className = "newBox";
div.innerHTML = index;
//2.3
//2.3.1
var col = (index-1)%3;
console.log(col);
var row = parseInt((index-1)/3);
div.style.left = col * (100+10)+"px";
div.style.top = row * (100+10)+"px";
console.log(div);
//2.4
box.appendChild(div);
}
//3.
btn[1].onclick= function () {
if(box.children.length-1<0)return;
//3.1
box.removeChild(box.children[index-1]);
//3.2 ,
index--;
};
微博を発表
ulを作成すると、クリックイベントの外に作成されます.
次はコードです
CSSコード:
*{
margin: 0;
padding: 0;
}
#box{
border: 1px solid #000;
padding: 10px;
width: 600px;
height: 600px;
margin: 100px auto;
text-align: center;
}
#txta{
width: 490px;
height: 200px;
resize: none;
border: 1px solid #000;
}
#box ul{
width: 460px;
margin: 0 auto;
}
#box ul li{
list-style:none;
border-bottom: 1px dashed black;
height: 30px;
line-height:30px;
text-align: left;
}
#box ul li a {
float: right;
cursor: pointer;
}
HTMLコード: