Web APIs知識點講解(階段二)

DOM-事件基礎

一.事件

1.事件

目標:能夠給 DOM元素添加事件監聽

事件:事件是在編程時系統內發生的動作或者發生的事情,比如用戶在網頁上單擊一個按鈕

事件監聽:就是讓程序檢測是否有事件產生,一旦有事件觸發,就立即調用一個函數做出響應,也稱為 注冊事件

語法:

事件監聽三要素:

  • 事件源: 那個dom元素被事件觸發了,要獲取dom元素
  • 事件: 用什么方式觸發,比如鼠標單擊 click、鼠標經過 mouseover 等
  • 事件調用的函數: 要做什么事

舉例說明:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件監聽</title>
</head>
<body><button>點擊我</button><script>//1.獲取按鈕元素let btn = document.querySelector('button')//2.事件監聽  綁定事件 注冊事件  事件偵聽// 事件源.addEventListener('事件',事件處理函數)btn.addEventListener('click',function(){alert('月薪過萬')})</script>
</body>
</html>

案例:淘寶點擊關閉二維碼

需求:點擊關閉之后,淘寶二維碼關閉 案例 分析: ①:點擊的是關閉按鈕 ②:關閉的是父盒子 核心:利用樣式的顯示和隱藏完成, display:none 隱藏元素 display:block 顯示元素?

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.erweima {position: relative;width: 160px;height: 160px;margin: 100px auto;border: 1px solid #ccc;}.erweima i {position: absolute;left: -13px;top: 0;width: 10px;height: 10px;border: 1px solid #ccc;font-size: 12px;line-height: 10px;color: #ccc;font-style: normal;cursor: pointer;}</style>
</head><body><div class="erweima"><img src="./images/code.png" alt=""><i class="close_btn">x</i></div><script>//1.獲取元素 事件源i 關閉的二維碼erweimalet close_btn = document.querySelector('.close_btn')let erweima = document.querySelector('.erweima')//2.事件監聽close_btn .addEventListener('click',function(){//erweima 關閉 他是隱蔽的erweima.style.display = 'none'})</script>
</body></html>

案例:隨機點名

需求:點擊按鈕之后,隨機顯示一個名字,如果沒有顯示則禁用按鈕 案例 分析: ①:點擊的是按鈕 ②:隨機抽取一個名字 ③: 當名字抽取完畢,則利用 disabled 設置為 true

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div{width: 200px;height: 40px;border: 1px solid pink;text-align: center;line-height: 40px;}</style>
</head>
<body><div>開始抽獎吧</div><button>點擊點名</button><script>//1.獲取元素 div 和 buttonlet box = document.querySelector('div')let btn = document.querySelector('button')//2.隨機函數function getRandom(min,max){return Math.floor(Math.random()*(max - min + 1)) + min} //聲明一個數組let arr = ['趙云','黃忠','關羽','張飛','馬超','劉備','曹操','pink老師']//3.事件監聽btn.addEventListener('click',function(){//隨機的數字let random = getRandom(0,arr.length - 1)console.log(arr[random])box.innerHTML = arr[random]//刪除數組里面的元素 splice(從那里刪,刪幾個)arr.splice(random,1)//如果數組里面剩下最后一個,就要禁用按鈕if (arr.length === 1){// console.log('最后一個')btn.disabled = truebtn.innerHTML = '已經抽完'}})</script>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710807.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710807.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710807.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

http工具類

public class HttpRequstUtil {/*** http請求方法** param message 查詢條件* param url 查詢地址* param token 身份驗證token* param socketTimeout socket 響應時間* param connectTimeout 超時時間* return 返回字符串*/Deprecatedpublic stat…

金仕達與 DolphinDB 建立深度合作,共筑 FICC 科技創新新篇章

從“關起門做交易”到“打開門做服務”&#xff0c;國內 FICC 業務正經歷從自營到市場化服務的轉變&#xff0c;借助數據分析、算法交易等技術的快速發展&#xff0c;交易團隊能夠更加主動地發現市場需求&#xff0c;為不同客群提供更好的做市業務&#xff0c;FICC 交易電子化已…

打造智能汽車微服務系統平臺:架構的設計與實現

隨著智能汽車技術的飛速發展&#xff0c;微服務架構在汽車行業中的應用越來越廣泛。采用微服務架構可以使汽車系統更加靈活、可擴展&#xff0c;并且有利于快速推出新功能和服務。本文將從設計原則、關鍵技術、數據安全等方面&#xff0c;介紹如何搭建智能汽車微服務系統平臺架…

網絡通信技術

?1.分組交換技術 在網絡通信中&#xff0c;數據通過網絡節點的某種轉發方式&#xff0c;實現從一個端系統到另一個端系統之間的數據傳輸技術稱為數據交換技術。數據交換技術有電路交換、報文交換和分組交換&#xff0c;計算機網絡采用分組交換技術。 分組就是源主機(如服務器…

【Python】FastAPI 項目創建 與 Docker 部署

文章目錄 前言&需求描述1. 本地FastAPI1.1 Python 環境準備1.2 本地 Pycharm 創建FastAPI項目 2. Python FastAPI 部署2.1 服務器配置Python環境2.2.1 下載與配置Git、Pyenv等工具2.2.2 下載與配置Python 2.2 FastAPI 打包成鏡像2.2.1 項目準備所需環境文件2.2.2 編寫Docke…

畢業設計——基于springboot的聊天系統設計與實現(服務端 + 客戶端 + web端)

整個工程包含三個部分&#xff1a; 1、聊天服務器 聊天服務器的職責一句話解釋&#xff1a;負責接收所有用戶發送的消息&#xff0c;并將消息轉發給目標用戶。 聊天服務器沒有任何界面&#xff0c;但是卻是IM中最重要的角色&#xff0c;為表達敬意&#xff0c;必須要給它放個…

入侵和攻擊模擬 (BAS) 技術應用實踐

文章目錄 前言一、實施BAS的必要性二、實施BAS的關鍵步驟1、識別網絡中的脆弱區域2、創建基線安全模型3、選擇合適的BAS工具4、進行模擬攻擊測試5、分析結果并改進三、BAS實施中的挑戰1、組織的專業知識和能力有限2、改變傳統工作流程3、安全預算不足4、難以與現有安全基礎設施…

C語言中的不同變量初始值:深度解析與實踐指南

在C語言編程領域&#xff0c;理解和掌握變量的初始化原理和過程是構建穩健、高效代碼的基礎。C語言對不同類型變量的初始化處理方式存在差異&#xff0c;這要求開發者明確理解并合理應用這些規則以避免潛在的運行時錯誤和未定義行為。本文將詳細解讀C語言中各類變量的初始狀態設…

AI智能分析網關V4車輛違停算法在園區場景中的應用及特點

隨著城市化進程的加速&#xff0c;車輛違停問題愈發嚴重&#xff0c;給城市交通帶來了極大的困擾。為了解決這一問題&#xff0c;AI技術逐漸被應用于車輛違停的檢測中。AI檢測算法在車輛違停方面的應用&#xff0c;主要是通過計算機視覺技術&#xff0c;對道路上的車輛進行實時…

智慧灌區項目案例(甘肅省蘭州市某重點灌區)

?甘肅省蘭州市某重點灌區自上個世紀80年代建成后,灌溉面積達到30萬畝,對推動當地農業發展發揮了重要作用。但長期以來,該灌區的水利管理仍主要依靠人工統計記錄,缺乏實時監測和精細化管理。為實現灌區管理的現代化升級,甘肅水利局委托星創易聯公司設計實施水利信息化項目。 項…

【Python筆記-設計模式】狀態模式

一、說明 狀態模式是一種行為設計模式&#xff0c;用于解決對象在不同狀態下具有不同行為 (一) 解決問題 在對象行為根據對象狀態而改變時&#xff0c;規避使用大量的條件語句來判斷對象的狀態&#xff0c;提高系統可維護性 (二) 使用場景 當對象的行為取決于其狀態&#…

C#使用iText7將多個PDF文檔合并為單個文檔

使用HtmlAgilityPack抓取并分析網頁內容&#xff0c;然后再調用PuppeteerSharp將網頁生成PDF文件&#xff0c;最終的成果如下圖所示&#xff0c;得到將近120個pdf文檔。能看&#xff0c;但是不方便&#xff0c;需要逐個打開文檔才能看到所需的內容&#xff0c;最好能將這些文檔…

淺談 Linux 網絡編程 socket

文章目錄 socket 介紹 socket 介紹 socket 被翻譯成 網絡套接字&#xff0c;這個名字實在是不好理解&#xff0c;我更愿意稱為"插槽"。 忽略 socket 的中文名&#xff0c;先無腦記住兩個規則&#xff1a; ① 記住&#xff0c;一個文件描述符(fd) 指向一個 socket&…

GPT-SoVITS音色克隆-模型訓練步驟

GPT-SoVITS音色克隆-模型訓練步驟 GPT-SoVITS模型源碼一個簡單的TTS后端項目 基于模型部署和訓練教程&#xff0c;語雀 模型部署和訓練教程 啟動模型訓練的主頁面 1. 切到模型路徑 /psycheEpic/GPT-SoVITS進入Python虛擬環境&#xff0c;并掛起執行python腳本 conda activ…

機器學習(II)--樣本不平衡

現實中&#xff0c;樣本&#xff08;類別&#xff09;樣本不平衡&#xff08;class-imbalance&#xff09;是一種常見的現象&#xff0c;如&#xff1a;金融欺詐交易檢測&#xff0c;欺詐交易的訂單樣本通常是占總交易數量的極少部分&#xff0c;而且對于有些任務而言少數樣本更…

Linux信號【產生-保存-處理】

目錄 前言&#xff1a; 1、進程信號基本概念 1.1、什么是信號&#xff1f; 1.2、信號的作用 2、鍵盤鍵入 2.1、ctrlc 終止前臺進程 2.1.1、signal 注冊執行動作 3、系統調用 3.1、kill 函數 3.2、模擬實現 myKill 3.3、raise 函數 3.4、abort 函數 4、軟件條件信號…

人工智能福利站,初識人工智能,圖神經網絡學習,第五課

&#x1f3c6;作者簡介&#xff0c;普修羅雙戰士&#xff0c;一直追求不斷學習和成長&#xff0c;在技術的道路上持續探索和實踐。 &#x1f3c6;多年互聯網行業從業經驗&#xff0c;歷任核心研發工程師&#xff0c;項目技術負責人。 &#x1f389;歡迎 &#x1f44d;點贊?評論…

nginx設置緩存時間、日志分割、開啟多進程、網頁壓縮、配置防盜鏈

一、設置緩存時間 當網頁數據返回給客戶端后&#xff0c;可針對靜態網頁設置緩存時間&#xff0c;在配置文件內的http段內server段添加location&#xff0c;更改字段expires 1d來實現&#xff1a;避免重復請求&#xff0c;加快訪問速度 第一步&#xff1a;修改主配置文件 #修…

Vulnhub靶機:basic_pentesting_2

一、介紹 運行環境&#xff1a;Virtualbox 攻擊機&#xff1a;kali&#xff08;10.0.2.4&#xff09; 靶機&#xff1a;basic_pentesting_2&#xff08;10.0.2.7&#xff09; 目標&#xff1a;獲取靶機root權限和flag 靶機下載地址&#xff1a;https://download.vulnhub.c…

如何選擇O2OA(翱途)開發平臺的部署架構?

概述 O2OA(翱途)開發平臺[下稱O2OA開發平臺或者O2OA]支持公有云&#xff0c;私有云和混合云部署&#xff0c;也支持復雜的網絡結構下的分布式部署。本篇主要介紹O2OA(翱途)開發平臺支持的部署環境以及常用的集群部署架構。 軟硬件環境說明 支持的云化平臺&#xff1a; 華為云…