Web API---DOM---點擊操作---20個案例

来源:https://www.cnblogs.com/jane-panyiyun/archive/2019/12/04/11981750.html
-Advertisement-
Play Games

點擊操作: >事件: 就是一件事, 有觸發和響應, 事件源 按鈕被點擊,彈出對話框 按鈕 >事件源 點擊 >事件名字 被點了 >觸發了 彈框了 >響應 案例1:點擊按鈕彈出對話框 以下全部是理解,html和js代碼分離: <!DOCTYPE html> <html lang="en"> <head> ...


點擊操作:------>事件: 就是一件事, 有觸發和響應, 事件源

按鈕被點擊,彈出對話框

  •     按鈕---->事件源
  •     點擊---->事件名字
  •     被點了--->觸發了
  •     彈框了--->響應

 

案例1:點擊按鈕彈出對話框    

 以下全部是理解,html和js代碼分離:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>jane的自學轉行</title>
</head>

<body>
  <!--第一個版本-->
  <!--html代碼,點擊按鈕彈出對話框,對話框:alert()====>js的代碼-->
  <!--html代碼中嵌入了js的代碼,不方便後期的修改和維護-->
  <input type="button" value="顯示效果" onclick="alert('我被點了')" />
  <!--最終的效果:應該把js代碼和html分離-->

  <!--第二個版本: js代碼很多,但是沒有分離html和js該怎麼做-->
  <script>
    function f1() {
      //函數中可以寫很多的代碼
      alert("這是一個對話框");
    }
  </script>
  <input type="button" value="顯示效果" onclick="f1()" />
  <!--開始分離html和js-->
  <input type="button" value="開始分離代碼" id="btn" />
  <script>
    function f2() {
      alert("開發分離html和js代碼");
    }
    //html標簽中的id屬性中存儲的值是唯一的,
    //id屬性就像人的身份證號碼一樣,不能重覆,頁面中的唯一的標識
    //從文檔中找到id值為btn的這個標簽(元素)
    //document.getElementById("id屬性的值");======>返回的是一個元素對象
    //根據id獲取這個標簽(元素)
    var btnObj = document.getElementById("btn");
    //為按鈕註冊點擊事件
    btnObj.onclick = f2;//不加括弧
  </script>


  <!--最終的版本代碼:-->
  <input type="button" value="最終版" id="btn1" />
  <script>
    //  //根據id屬性的值從整個文檔中獲取這個元素(標簽)
    var btnObj1 = document.getElementById("btn1");
    //為該元素註冊點擊事件
    btnObj1.onclick = function () {
      alert("哦,這真是太好了");
    };


    //根據id屬性的值從整個文檔中獲取這個元素(標簽)
    //為該元素註冊點擊事件
    document.getElementById("btn1").onclick = function () {
      alert("哦,這真是太好了");
    };
  </script>
</body>

</html>

 

最終代碼:

  <input type="button" value="按鈕" id="btn" />
  <script>
    var btnObj = document.getElementById("btn");
    btnObj.onclick = function () {
      alert("哦,小蘇好帥哦");
    };

    // document.getElementById("btn").onclick = function () {
    //   alert("哦,小蘇好帥哦");
    // };
  </script>

 

案例2:點擊按鈕顯示圖片

點擊按鈕的時候,設置img標簽的src屬性有一個圖片的路徑

 

  <input type="button" value="顯示圖片" id="btn" />
  <img src="" alt="" id="im" />

  <script>
    var btnObj = document.getElementById("btn");
    //為按鈕註冊點擊事件,添加事件處理函數
    btnObj.onclick = function () {
      //根據id獲取圖片的標簽,設置圖片的src屬性值
      var imObj = document.getElementById("im");
      imObj.src = "images/liuyan.jpg";
      //設置圖片的大小
      imObj.width = "300";
      imObj.height = "400";
    };

 

案例3:點擊按鈕,修改p標簽的顯示內容

凡是成對的標簽,中間的文本內容,設置的時候,都使用innerText這個屬性的方式
  <input type="button" value="設置p的內容" id="btn" />
  <p id="p1">我是一個p標簽</p>

  <script>
    // 根據id獲取按鈕, 為按鈕註冊點擊事件, 添加事件處理函數
    document.getElementById("btn").onclick = function () {
      //根據id獲取p標簽,設置內容
      document.getElementById("p1").innerText = "這是一個p";
    };

 

案例4:點擊按鈕修改a標簽的地址和熱點文字

1. a標簽在新頁面打開

2. 優化後:

  <input type="button" value="顯示效果" id="btn" />
  <a href="https://www.jiumodiary.com/" id="ak" target="_blank">鳩摩搜書</a>

  <script>
    //根據id獲取按鈕,註冊點擊事件,添加事件處理函數
    //  document.getElementById("btn").onclick = function () {
    //    //根據id獲取超鏈接,設置href屬性
    //    document.getElementById("ak").href = "http://www.itcast.cn";
    //    //根據id獲取超鏈接,設置文字內容
    //    document.getElementById("ak").innerText = "傳智播客";
    //  };

    //優化後的:
    document.getElementById("btn").onclick = function () {
      var aObj = document.getElementById("ak");
      aObj.href = "http://www.itcast.cn";
      aObj.innerText = "傳播智客";
    };
  </script>

 

案例5:點擊按鈕設置多個p標簽的文字內容

  1.   document.getElementsByTagName("標簽的名字");返回的是一個偽數組,
  2.   無論獲取的是一個標簽,還是多個標簽,最終都是在數組中存儲的,這行代碼的返回值就是一個數組

 

  <input type="button" value="請點擊以查看效果" id="btn" />
  <div id="dv1">
    <p>我是一朵小紅花開在春風裡</p>
    <p>我是一朵小紅花開在春風裡</p>
    <p>我是一朵小紅花開在春風裡</p>
    <p>我是一朵小紅花開在春風裡</p>
    <p>我是一朵小紅花開在春風裡</p>
  </div>
  <div>
    <p>我是一顆小草,開在雪天里</p>
    <p>我是一顆小草,開在雪天里</p>
    <p>我是一顆小草,開在雪天里</p>
    <p>我是一顆小草,開在雪天里</p>
  </div>
  <script>
    document.getElementById("btn").onclick = function () {
      //獲取div裡面的p
      var pObjs = document.getElementById("dv1").getElementsByTagName("p");
      //遍曆數組設置文字
      for (var i = 0; i < pObjs.length; i++) {
        pObjs[i].innerText = "我們都是p";
      }
    };
  </script>

 

實現效果:

 

 

案例6:點擊按鈕修改圖片的alt和title屬性

  <input type="button" value="顯示效果" id="btn" />
  <img src="images/cangjingkong.jpg" alt="和新浪吉祥物合影" title="參加新浪活動" />
  <script>
    document.getElementById("btn").onclick = function () {
      var imgObjs = document.getElementsByTagName("img");
      //ElementByTagName返回的是偽數組
      imgObjs[0].alt = "改了";
      imgObjs[0].title = "新浪"
    };
  </script>

 

案例7:點擊按鈕修改所有文本框的值

  <input type="button" value="請點擊修改文本框的值" id="btn"> <br />
  <input type="text" value="" /> <br />
  <input type="text" value="" /> <br />
  <input type="text" value="" /> <br />
  <input type="text" value="" /> <br />
  <input type="text" value="" /> <br />

  <script>
    //根據id獲取按鈕,為按鈕註冊點擊事件,添加事件處理函數
    document.getElementById("btn").onclick = function () {
      //獲取所有的文本框
      var inputs = document.getElementsByTagName("input");
      //判斷這個元素是不是按鈕
      for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type != "button") {
          inputs[i].value = "兩隻黃鸝鳴翠柳"
        }
      }
    };
  </script>

 

案例8:點擊每個圖片彈出對話框

  <img src="images/1.jpg" alt="" />
  <img src="images/2.jpg" alt="" />
  <img src="images/3.jpg" alt="" />
  <script>
    var imgObjs = document.getElementsByTagName("img");
    for (var i = 0; i < imgObjs.length; i++) {
      imgObjs[i].onclick = function () {
        alert("被點擊了");
      };
    }

 

案例9:點擊按鈕修改按鈕的value屬性

  <input type="button" value="按鈕" id="btn" />
  <script>
    //在某個元素的事件中,自己的事件中的this就是當前的這個元素對象
    var btnObj = document.getElementById("btn");
    btnObj.onclick = function () {
      //修改按鈕的value屬性
      this.value = "我是按鈕";
      this.type = "text";
      this.id = "btn2"; //id也可以修改
    };
  </script>

 

案例10:點擊圖片修改自身的寬和高

  <img src="images/liuyan.jpg" alt="" id="im" />
  <script>
    var imgObj = document.getElementById("im");
    imgObj.onclick = function () {
      this.width = "200";
      this.height = "300";
    };
  </script>

 

案例11:排他功能

1. 所有按鈕value值設為預設值

2. 當前被點擊的按鈕另設置

  <input type="button" value="沒懷孕" />
  <input type="button" value="沒懷孕" />
  <input type="button" value="沒懷孕" />
  <input type="button" value="沒懷孕" />
  <input type="button" value="沒懷孕" />
  <script>
    //獲取所有的按鈕,分別註冊點擊事件
    var btnObjs = document.getElementsByTagName("input");
    //迴圈遍歷所有的按鈕
    for (var i = 0; i < btnObjs.length; i++) {
      btnObjs[i].onclick = function () {
        //再用迴圈,把所有的按鈕的value值設置為預設的值
        for (var j = 0; j < btnObjs.length; j++) {
          btnObjs[j].value = "沒懷孕";
        }
        //當前被點擊的按鈕設置
        this.value = "懷孕了"; //這裡不能用btnObjs[i],註意
      };
    }
  </script>

 

案例12:點擊圖片標簽,設置圖片標簽的src路徑為超鏈接中大圖的路徑

 

  <a href="images/1.jpg" id="ak">
    <img src="images/1-small.jpg" alt="小圖" id="im">
  </a>
  <script>
    document.getElementById("im").onclick = function () {
      this.src = document.getElementById("ak").href;
    };
  </script>

 

案例13:點擊按鈕修改圖片

根據id獲取對象--->封裝成一個函數

  <input type="button" value="點擊顯示大圖" id="btn" />
  <img src="images/1-small.jpg" alt="" id="im">
  <script>
    function my$(id) {
      return document.getElementById(id);
    }

    my$("btn").onclick = function () {
      my$("im").src = "images/1.jpg";
    };
  </script>

 

 案例14:點擊按鈕修改性別和興趣

1. 規律:在表單標簽中, 如果屬性和值只有一個, 並且值是這個屬性本身, 那麼, 在寫js代碼,DOM操作的時候,這個屬性值, 是布爾類型就可以了 2. CSS實現就是radio裡面的checked="checked"  
  <input type="button" value="修改性別" id="btn1">
  <input type="radio" value="1" name="sex" /><input type="radio" value="2" name="sex" id="rad1" /><input type="radio" value="3" name="sex" />保密
  <script>

    function my$(id) {
      return document.getElementById(id);
    }
    my$("btn1"	   

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

-Advertisement-
Play Games
更多相關文章
  • 從輸入URL到頁面載入發生了什麼? 最近在進行前端性能優化方面的一些工作,發現前端性能方面太廣,不知道如何下手。參考了許多文章,發現最終都會歸咎於一個非常經典的問題: 從輸入URL到頁面載入發生了什麼? 通過連接這個過程,然後針對性地對每個過程進行優化,最終實現的就是我們的前端性能優化。本篇文章主要 ...
  • 一、解決什麼問題 1、開發環境js、css不壓縮,可在瀏覽器選中代碼調試 2、開發環境運行http服務指向打包後的文件夾 3、babel輸出瀏覽器相容的js代碼 二、需要安裝的包 babel-loader:輸出瀏覽器相容的js代碼;命令:<!--?xml version="1.0" encoding ...
  • At a Glance Script tags have access to any element which appears before them in the HTML. jQuery.ready / DOMContentLoaded occurs when all of the HTML ...
  • 目錄 Table of Contents generated with "DocToc" "目錄" "一、參考書籍和數據" "二、原型,[[prototype]]和.prototype以及constructor" "三、原型鏈" "for...in和in操作符" "四、屬性設置和屏蔽" "五、Jav ...
  • 一、關於引入變數 1.變數引入方法: {% block 塊名稱 %} <p>{{變數名}}<p> {% endblock %} 2.引入變數的值中標簽是否轉義: 不轉義: {% autoescape off %} ...HTML代碼... {% endautoescape %} 轉義: {% aut ...
  • 過渡模塊: 1、過渡三要素 1.1必須要有屬性發生變化 1.2必須告訴系統哪個屬性需要執行過渡效果 1.3必須告訴系統過渡效果持續時長 2、格式: div{ width:100px; height:100px; background-color:red; transition-property:wi ...
  • 1.聲明式 function fn() { //do something } 2.函數表達式 let fn = function () { //do something } 3.構造函數 function Person(name,age){ this.name=name this.age=age } ...
  • body{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select:none; -moz-user-select: none; -ms-user-select: none; user-select:none... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...