JS中BOM事件,JS樣式特效,表格對象和表單操作

来源:https://www.cnblogs.com/xw-01/archive/2023/08/05/17608015.html
-Advertisement-
Play Games

# DOM事件 1.DOM中的事件可以分為兩類 - 1.瀏覽器行為 如:文檔載入完成,圖片載入完成 - 2.用戶行為 如:輸入框輸入數據,點擊按鈕 (2).常見的DOM事件 ```bash onload 瀏覽器已完成頁面的載入 支持事件的對象 window image onchange HTML 元 ...


DOM事件

1.DOM中的事件可以分為兩類

  • 1.瀏覽器行為
    如:文檔載入完成,圖片載入完成
  • 2.用戶行為
    如:輸入框輸入數據,點擊按鈕

(2).常見的DOM事件

onload        瀏覽器已完成頁面的載入
支持事件的對象    window image
onchange    HTML 元素改變
onclick        用戶點擊 HTML 元素
onmousemove    用戶移動滑鼠
onmouseover    滑鼠移動到元素上
onmouseout    滑鼠移開某元素上
onmousedown    滑鼠按下
onmouseup    滑鼠鬆開
onkeydown    用戶按下鍵盤按鍵
onkeyup        按下鍵盤鬆開
onblur        失去焦點
onfocus        獲取焦點

(3).DOM事件綁定的二種方式

1.在元素的事件屬性中直接綁定

如:

<button type="button" onclick="alert('haha')">點擊看看</button>

2.通過元素對象的事件屬性賦值(匿名函數實現)
如:

<button id="btn" type="button">點擊看看</button>
 var oBtn=document.getElmentById("btn");
 oBtn.onclick=function(){
     alert('haha');
 }

JS樣式特效

1.使用js獲取或設置css樣式(只能獲取或設置行內樣式)

語法:

node.style.屬性名=屬性值
註意:當屬性名為蛇形命名時,要轉換成小駝峰命名

node.style.color="red"
node.style.fontSize="30px"

2.使用js獲取或設置css類名

語法:

node.className=類名
node.className="a1";
node.className="a1 b1";
獲取元素的位置:
event.offsetX;
event.offsetY;
event.clientX;
event.clienY;

3.實現廣告圖所需事件

事件:當網頁滾動時觸發的事件

onscroll
獲取網頁滾動上邊距的距離

document.body.scrollTop
或者

docuemnt.documentElement.scrollTop

4.日期時間對象

Date日期對象用於處理日期和時間

1、【創建】Date 對象:

var myDate=new Date();

創建空的Date對象時表示的值是當前的日期和時間

var myDate=new Date(dateString)
var myDate=new Date(year, month, day, hours, minutes, seconds, milliseconds);
日期字元串dateString:
規則:
1、日期字元串是可選的。
2、日期在前,時間在後。
3、日期常用(空格,橫線-,逗號,)分隔,時間以(冒號:)分隔

2、Date對象的屬性和方法

獲取當前時間:

var d=new Date();
//獲取年:
var year=d.getFullYear();
//獲取月:
var month=d.getMonth();
//獲取日:
var date=d.getDate();
//獲取時分秒:
var hours=d.getHours();
var minutes=d.getMinutes();
var seconds=d.getSeconds();
//獲取星期:
var day=d.getDay();

表格對象和表單操作

1、表格對象的屬性

  • 表格對象的邊框:表格對象.border
  • 表格對象的寬度:表格對象.width

2、表格對象的行操作(row)

表格對象的所有行: 表格對象.rows;
表格對象的行數:  表格對象.rows.length
表格對象的第一行: 表格對象.rows[0]
表格對象的最後一行:表格對象.rows[表格對象.rows.length-1]
行對象獲取行下標: 行對象.rowIndex
刪除行:刪除指定下標行        表格對象.deleteRow(行的下標)
插入行:在指定下標行前插入行    表格對象.insertRow(行的下標)
返回值:返回行對象

3、表格對象的列操作(cell)

行對象的所有列:    行對象.cells;
行對象的第一列:    行對象.cells[0]
行對象的最後一列:    行對象.cells[行對象.cells.length-1]
列對象獲取列下標:  列對象.cellIndex
刪除列:刪除指定下標列        行對象.deleteCell(列的下標);
插入列:在指定下標列前面插入列    行對象.insertCell(列的下標);

事件:

  • 點擊事件:onclick
  • 失去焦點事件:onblur
  • 獲取焦點事件:onfocus

2.表單操作
一、 獲取表單元素的方法

  • 第一種方法,通過元素的name獲取
  • 第二種方法:通過元素的index獲取
  • 第三種方法:通過元素的id獲取
    例如:
<form name="fr1" id="fm" action="demo.html">
   賬號:<input type="text" id="tx1" />
   密碼:<input type="password" id="pwd1" />
   確認密碼<input type="password" id="pwd2" />
   <input type="submit" value="登錄" />
</form>
<script type="text/javascript">
   //1.通過下標獲取form元素
     var fr1 = document.forms[0];
   console.log(fr1);
   //2.通過name屬性獲取form元素
     var fr2 = document.forms["fr1"];
   console.log(fr2);
   //3.通過name屬性獲取form元素
     var fr3 = document.fr1;
   console.log(fr3);
   //4.通過id屬性獲取form元素
     var fm2 = document.forms["fm"];
   console.log(fm2);
</script>

二、表單驗證
return false : 在大多數情況下,為事件處理函數返回false,可以防止預設的事件行為.
案例一:

document.forms[0].onsubmit=function(){
    var zh=document.forms[0].tx1.value;
    if(zh==""){
    alert("賬號不能為空!!");
    return false;
    }
}

案例二:

<a href="demo.html">點擊跳轉</a>
var a1=document.getElementsByTagName("a")[0];
    a1.onclick=function(){
    return false;
}

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

-Advertisement-
Play Games
更多相關文章
  • # Unity Shader編輯器工具類ShaderUtil 常用函數和用法 ![Unity Shader](https://cdn.pixabay.com/photo/2017/08/30/01/05/milky-way-2695569_960_720.jpg) Unity的Shader編輯器工具 ...
  • 恩兔N2是一個家庭存儲的系列產品, NS-1 是其中最小的一個版本, 基於海思ARM64 CPU Hi3798MV200. 和其他設備相比, 特點是內置2.5寸SATA盤位, 並且帶千兆網口. 這個設備比較小眾, 存量很小, 不如斐訊N1, 玩客雲那樣有廣泛的認知度, 甚至在百度和Google上搜索... ...
  • 博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...
  • # MySQL多實例 ## 介紹 **應用場景**: **資金緊張公司** 若公司資金緊張,公司業務訪問量不太大,但又希望不同業務的資料庫服務各自能夠儘量獨立地提供服務而互相不受影響,或者,還有需要主從複製等技術提供備份或讀寫分離服務的需求,那麼,多實例就再好不過了。 **用戶併發訪問量不大的業務* ...
  • > 本文實驗所需環境 > > 1. vmware workstation pro 17 > 2. window server 2022 鏡像文件:zh-cn_windows_server_2022_updated_april_2023_x64_dvd_644d5669.iso > > > > 鏡像文 ...
  • 分庫分表是大型互聯網應用經常採用的一種數據層優化方案,常見的分庫分表中間件如 sharding-jdbc、mycat 都已經比較成熟,基本上可以應對我們一般的分庫分表需求。 做過分庫分表的同學應該知道,在給業務系統做分庫分表改造過程中,難的不是如何使用這些組件進行分庫分表,而是如何將非分庫分表的系... ...
  • ![STC Logo](https://img2023.cnblogs.com/blog/423657/202308/423657-20230804155231120-1292914581.svg) 在現代的 Web 開發中,使用 OpenAPI(以前稱為 Swagger)規範來描述和定義 API ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 平常我們說的font-size:0;就是設置字體大小為0對吧,但是它的用處不僅僅如此哦,它還可以消除子行內元素間額外多餘的空白! 問題描述? 是否出現過當多個img標簽平鋪的時候,會出現幾個像素的間距?就像這樣👇(為了醒目加了個紅色的框 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...