day 48

来源:https://www.cnblogs.com/colacheng0930/archive/2019/11/19/11892835.html
-Advertisement-
Play Games

[TOC] js BOM(瀏覽器對象模型) 由上圖可知,window對象是 BOM 的核心對象,所有對象都是通過它延伸出來的,也可以稱為window的子對象。 DOM是BOM的一部分 window對象 所有瀏覽器都支持window對象,它表示瀏覽器的介面。 常用window方法 ::瀏覽器視窗的內部 ...


目錄

js

BOM(瀏覽器對象模型)

  • 由上圖可知,window對象是BOM的核心對象,所有對象都是通過它延伸出來的,也可以稱為window的子對象。
  • DOM是BOM的一部分

window對象

所有瀏覽器都支持window對象,它表示瀏覽器的介面。

常用window方法

  • window.innerHeight::瀏覽器視窗的內部高度
  • window.innerWidth :瀏覽器視窗的內部寬度
  • window.open:打開新視窗
  • window.close:關閉當前視窗

window子對象

navigator.appName       // Web瀏覽器全稱
navigator.appVersion    // 文本瀏覽器廠商和版本的詳細字元串
navigator.userAgent     // 客戶端絕大部分信息
navigator.platform      // 瀏覽器運行的操作系統

開頭window可不寫,BOM預設window開頭

screen對象

screen.avallWidth       // 可用的屏幕寬度
screen.avallHeight      // 可用的屏幕高度

history對象

window.history 對象包含瀏覽器的歷史,瀏覽歷史對象

history.forward()   // 前進一頁
history.back()      // 後退一頁

location對象

location.href   // 獲取URL
location.href="URL"     // 跳轉到指定頁面
location.reload     // 重新載入頁面

彈出框

可以在js中創建三種消息框,分別是:警告框確認框和提示框

警告框

用於確保用戶可以得到某些信息

當警告框出現時,用戶需要點擊確定按鈕才能繼續操作

例:

alert("hello world");

確認框

用於使用戶可以驗證或者接受某些信息

當確認框出現時,用戶需要點擊確定或者取消按鈕才能繼續操作

confirm("Are you sure")

提示框

用於提示用戶進入頁面前輸入某個值

當提示框出現時,用戶需要輸入某個值,用戶需要點擊確定或者取消按鈕才能繼續操作

如果用戶點擊確認,那麼返回值為輸入的值,如果用戶點擊取消,那麼返回的值為null

prompt("請輸入","答案")

計時事件

setTimeout(定時器,非同步運行)

var t = setTimeout('js語句','毫秒')

setInterval(實時刷新)

// 在指定時間之後執行一次相應函數
var t = setInterval('js語句',毫秒)

註意:如果要求在每隔一個固定的時間間隔後就精確地執行某動作,最好使用setInterval;如果不想連續調用產生互相干擾的問題,而且需要進行複雜計算的時候,推薦使用setTimeout

DOM(文檔對象模型)

DOM是一套對文檔內容進行結構化展示,並讓js操作html元素而制定的一個規範

由上圖可知,DOM規定html文檔的每個成分都是一個節點

  • 文檔節點(document對象):代表整個文檔
  • 元素節點(element對象):代表一個元素(標簽)
  • 屬性節點(attribute對象):代表一個屬性

查找標簽

直接查找

document.getElementById         根據ID獲取一個標簽
document.getElementsByClassName 根據class屬性獲取
document.getElementsByName      根據標簽名獲取標簽合集

間接查找

parentElement       父節點標簽元素

節點操作

創建節點

createElement(標簽名)

var divEle = document.createElement("div")

插入節點

//追加一個子節點(作為最後的子節點)
somenode.appendChild(newnode)
//把增加的節點放到某個節點的前邊
somenode.insertBefore(newnode,某個節點)

例:
var imgEle = document.createElement("img");
imgEle.setAttribute("src", https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1906254523,3408854892&fm=26&gp=0.jpg);
var d1Ele = document.getElementById("d1");
d1Ele.appendChild(imgEle);

刪除節點

獲得要刪除的元素,通過父元素調用該方法刪除

somenode.removeChild(要刪除的節點)

替換節點

somenode.replaceChild(newnode,某個節點)

屬性節點

獲取文本節點的值

var divEle = document.getElementById('d1')
diveEle.innerText
divEle.innerHTML

設置文本節點的值

var divEle = document.getElementById('d1')
diveEle.innerText='<p>1<p>'
divEle.innerHTML='<p>2<p>'

註意

diveEle.innerText設置文本節點值只會把代碼寫出來,無法識別js代碼,而divEle.innerHTML可以做到

attribute操作
var divEle = document.getElementById('d1');
divEle.setAttribute("age","18")
divEle.getAttribute("age")
divEle.removeAttribute("age")

// 自帶的屬性還可以直接.屬性名來獲取和設置
imgEle.src
imgEle.src="..."

事件

JS是以事件驅動為核心的一門語言

常用事件

onclick        當用戶點擊某個對象時調用的事件句柄。
ondblclick     當用戶雙擊某個對象時調用的事件句柄。

onfocus        元素獲得焦點。               // 練習:輸入框
onblur         元素失去焦點。               應用場景:用於表單驗證,用戶離開某個輸入框時,代表已經輸入完了,我們可以對它進行驗證.
onchange       域的內容被改變。             應用場景:通常用於表單元素,當元素內容被改變時觸發.(select聯動)

onkeydown      某個鍵盤按鍵被按下。          應用場景: 當用戶在最後一個輸入框按下回車按鍵時,表單提交.
onkeypress     某個鍵盤按鍵被按下並鬆開。
onkeyup        某個鍵盤按鍵被鬆開。
onload         一張頁面或一幅圖像完成載入。
onmousedown    滑鼠按鈕被按下。
onmousemove    滑鼠被移動。
onmouseout     滑鼠從某元素移開。
onmouseover    滑鼠移到某元素之上。

onselect      在文本框中的文本被選中時發生。
onsubmit      確認按鈕被點擊,使用的對象是form。

綁定方式

方式一

<div id='d1' onclick='changecolor(this);'>Click Me
    <script>
        function changecolor(ths) {
            ths.style.background-color='green'
        }
    </script>
    
</div>

註意

this是實參,表示觸發事件的當前元素

函數定義過程中的ths為形參

方式二:

<div id='d2'>Click Me
    <script>
        var divEle2 = document.getElementById('d2')
        divEle2.onclick=function() {
            this.innerText='啊~'
        }
    </script>
</div>

jQuery

jQuery介紹

1.jQuery是一個輕量級的,可相容多瀏覽器的JavaScript庫

2.jQuery是用戶能更方便地處理HTML Document、Events、實現動畫效果、方便與Ajax交互,能夠極大的簡化JavaScript編程。

jQuery的優勢

1.jQuery核心的js文件才幾十kb,不會影響頁面的載入

2.有豐富的jQuery選擇器,用起來非常方便

3.可進行鏈式操作,jQuery可以把多個操作寫在一個代碼里,更加簡潔

4.事件、樣式、動畫支持,jQuery簡化了js操作css的代碼

5.Ajax操作支持

6.跨瀏覽器相容

7.插件擴展開發

jQuery初識


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 連接用戶 scott、system及自定義用戶連接 sys用戶登錄 2. 顯示和設置環境變數 修改每行顯示的字元數 修改每頁顯示的行數 3. 文件操作 編輯指定的sql文件 運行sql腳本,如果文件尾碼是.sql則可以省略尾碼 將命令行中的命令保存在文件中 ...
  • 原文:https://blog.csdn.net/fasfaf454/article/details/51438743 1、獲取手機系統信息( CPU,廠商名稱等)adb shell "cat /system/build.prop | grep "product""2、獲取手機系統版本adb she ...
  • 複合選擇器介紹 複合選擇器其實很好理解,說白了就跟我們生活中的有血緣關係家庭成員一樣,通過標簽或者 屬性或 屬性,去找對應的有血緣關係的某個選擇器,具體的大家往下看哦。 如果是初學者對基本的選擇器不是很瞭解的可以看筆者之前寫過的基本選擇器文章, "CSS基本選擇器是什麼?基本選擇器是如何工作" ,在 ...
  • 總結獲取url中查詢參數的兩種方式 通過正則表達式獲取單個參數 url中的所有查詢參數可以通過 欄位獲取,以字元串的形式返回。並有固定的格式 ,所以可以正則表達式匹配。 分析下需要匹配的格式: + , 其中需要獲取的是value部分,但是也需要 param= 參與匹配,但是不能參與返回結果,這裡有 ...
  • 本文介紹瞭如何使用Bootstrap實現響應式佈局,如何定製自己的響應式框架,Bootstrap響應式底層原理和模擬實現。 ...
  • css預處理器:用一種專門的編程語言,為CSS增加了一些編程的特性,將CSS作為目標生成文件,然後開發者就只要使用這種語言進行編碼工作,可以讓你的CSS更加簡潔、適應性更強、可讀性更佳,更易於代碼的維護等諸多好處。 ...
  • 有些時間我們希望能按需動態載入js文件,而不是直接在HTML中寫script標簽。 以下為示例代碼: 1 var js = document.createElement('script'); 2 js.async = true; 3 js.src = jsSrc; 4 js.onload = fun ...
  • [TOC] jQuery的補充 基本篩選器 屬性選擇器 表單選擇器 篩選器方法 下一個元素 上一個元素 父親元素 兒子和兄弟元素 操作標簽 樣式操作 樣式類 位置操作 尺寸 文本操作 HTML代碼 文本值 值 屬性操作 用於 和`radio` == 和`attr`的區別== 全稱 (屬性) 全稱 ( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...