DOM學(xué)習(xí)筆記(一)

前言

js學(xué)習(xí)ing,form(w3c上js微課)

動(dòng)畫

現(xiàn)在我們知道如何選擇和更改DOM元素,我們可以創(chuàng)建一個(gè)簡(jiǎn)單的動(dòng)畫。

讓我們創(chuàng)建一個(gè)簡(jiǎn)單的HTML頁(yè)面,其中包含將使用JS動(dòng)畫的框元素。

<style>

#container {

? ????width: 400px;

? ????height: 400px;

????? background: green;

????? position: relative;

????????????????}

#box {

????? width: 30px;

????? height: 30px;

????? background: red;

? ????position: absolute;

????}

</style>

<div id="container">?

????????<div id="box"> </div>

</div>

我們的box元素在容器元素的內(nèi)部。注意用于元素的 position 屬性:

容器是相對(duì)的,盒子是絕對(duì)的。這將允許我們創(chuàng)建相對(duì)于容器的動(dòng)畫。

我們將會(huì)動(dòng)畫紅色框,使其移動(dòng)到容器的右側(cè)。

步驟

要?jiǎng)?chuàng)建動(dòng)畫,我們需要以較小的時(shí)間間隔更改元素的屬性。

我們可以通過使用?setInterval()?方法來(lái)實(shí)現(xiàn)這一點(diǎn),它允許我們創(chuàng)建一個(gè)定時(shí)器并調(diào)用一個(gè)以定義的間隔(以毫秒為單位)反復(fù)更改屬性的函數(shù)。

例如:

var t = setInterval(move, 500);?

此代碼創(chuàng)建一個(gè)每500毫秒調(diào)用一個(gè)move()函數(shù)的計(jì)時(shí)器。

現(xiàn)在我們需要定義move()?函數(shù),改變框的位置。

// 定義開始的位置

var pos = 0;

// 獲取box元素

var box = document.getElementById("box");

function move() {

? pos += 1;

? box.style.left = pos+"px";? ? ? ?//px = pixels

}

注意:提示:?move()?函數(shù)在每次調(diào)用時(shí)將box元素的left屬性增加1。

document 對(duì)象

document對(duì)象是文檔的根節(jié)點(diǎn),window.document屬性就指向這個(gè)對(duì)象。也就是說,只要瀏覽器開始載入HTML文檔,這個(gè)對(duì)象就開始存在了,可以直接調(diào)用。

JavaScript中有一個(gè)預(yù)定義的 document 對(duì)象,可用于訪問DOM上的所有元素。

換句話說,文檔對(duì)象是網(wǎng)頁(yè)中所有對(duì)象的所有者(或根)。

因此,如果要訪問HTML頁(yè)面中的對(duì)象,則始終訪問?document?對(duì)象。


例如:

document.body.innerHTML = "Some text";

由于 body 是 DOM 的元素,因此我們可以使用 document 對(duì)象訪問它并更改 innerHTML 屬性的內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容