Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本特黄特色aaa大片免费,亚洲精品一区激情区偷拍,亚洲精品久久一区影院

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript代碼怎樣引入到HTML中?

          avaScript 程序不能獨立運行,它需要被嵌入 HTML 中,然后瀏覽器才能執行 JavaScript 代碼。通過 <script> 標簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
          1.內部方式
          內部方式是通過<script>標簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:

          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎 - 引入方式</title>
           </head>
           <body>
             <!-- 內聯形式:通過 script 標簽包裹 JavaScript 代碼 -->
             <script>
               alert('嗨,歡迎來傳智播學習前端技術!')
             </script>
           </body>
           </html>

          2.外部形式

          一般將 JavaScript 代碼寫在獨立的以 .js 結尾的文件中,然后通過 <script>標簽的 <src>屬性引入,示例代碼如下:

          // demo.js
          document.write('嗨,歡迎來傳智播學習前端技術!')
          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎 - 引入方式</title>
           </head>
           <body>
             <!-- 外部形式:通過 script 的 src 屬性引入獨立的 .js 文件 -->
             <script src="demo.js"></script>
           </body>
           </html>

          注意:如果 script 標簽使用 src 屬性引入了某 .js 文件,那么 標簽的代碼會被忽略!!!如下代碼所示:

          HTML 中,通過 JavaScript 來獲取當前元素的高度通常使用以下屬性:

          var element = document.getElementById("yourElementId"); // 獲取元素var height = element.offsetHeight; // 獲取元素高度(包括padding、border,但不包括margin)

          如果你想獲取元素的 CSS 定義的高度(不包括 padding 和 border),可以使用 style.height,但這只能獲取到直接寫在元素行內樣式中的高度,而不是計算后的實際高度或 CSS 樣式表中定義的高度:

          var heightInStyle = element.style.height; // 只獲取行內樣式設置的高度

          在 React 中獲取當前元素的高度方式與 JavaScript 相似,但是你需要確保在 DOM 更新后獲取元素高度。可以使用 ref 來訪問實際 DOM 節點并獲取其高度:

          import React, { useRef, useEffect } from 'react';function YourComponent() {  const elementRef = useRef(null);  useEffect(() => {    if (elementRef.current) {      // 在這里,elementRef.current.clientHeight 獲取元素的內容區域高度(不包括padding和border)      // elementRef.current.offsetHeight 獲取元素的實際渲染高度(包括padding和border,但不包括margin)      console.log('Element height:', elementRef.current.offsetHeight);
              }
            }, []); // 確保此useEffect只在組件掛載后執行一次  return (    <div ref={elementRef}>
                {/* 你的組件內容 */}    </div>
            );
          }export default YourComponent;

          在上述代碼中,useRef 創建了一個可變的引用對象,它可以用來保存任何可變值,包括 DOM 節點。然后通過將這個 ref 對象賦給元素的 ref 屬性,React 會將對應的 DOM 節點保存到這個 ref 對象的 .current 屬性上,這樣我們就可以在回調函數或者其他適當的地方訪問到該 DOM 節點,并獲取其高度了。

          如果要在圖片加載完成后獲取包含圖片的元素高度,可以監聽圖片的 load 事件。在 React 中,你可以在組件內創建一個圖片引用,并在 useEffect 中監聽圖片加載完成:

          import React, { useRef, useEffect } from 'react';function YourComponent() {  const elementRef = useRef(null);  const imgRef = useRef(null);  useEffect(() => {    const handleImageLoad = () => {      if (elementRef.current) {        console.log('Element height after image load:', elementRef.current.offsetHeight);
                }
              };    // 如果img已經存在于DOM中,則立即觸發handleImageLoad    // 否則,在img加載完成后觸發handleImageLoad    if (imgRef.current && imgRef.current.complete) {      handleImageLoad();
              } else {
                imgRef.current.onload = handleImageLoad;
              }    // 可以選擇在組件卸載時清除事件監聽,避免內存泄漏    return () => {
                imgRef.current.onload = null;
              };
            }, []); // 確保此useEffect只在組件掛載后執行一次  return (    <div ref={elementRef}>      <img src="your-image-source.jpg" ref={imgRef} alt="Your Image" />
                {/* 其他內容 */}    </div>
            );
          }export default YourComponent;

          這樣,當圖片加載完成后,就會觸發 handleImageLoad 函數,從而獲取到包含圖片的元素的實際高度。

          如果圖片是服務端渲染的,并且你無法直接在 img 標簽上添加 ref,你可以考慮監聽整個組件的 onLoad 事件來判斷圖片是否加載完成。由于 React 在瀏覽器中重新渲染時會保留 DOM 節點(除非有更改),所以可以通過檢查元素的 offsetHeight 是否有變化來判斷圖片是否加載完畢。

          在開篇

          開篇之前,先提個問題,什么是類?分類嗎?可以這么說吧!我們可以給物體分類,也可以給人分類。正所謂,物以類聚,人以群分。難道我們這里是給元素分類?用分類來理解是不準確的啦!從某些角度,也可以理解成分類,說白了也就是個標識而已。廢話不說,我們正式步入今晚的主題!

          HTML類

          html中的類是什么鬼?先上個例子,然后再剖析它:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
                  <style>
                      .c1 {
                        background-color: tomato;
                        color: white;
                        border: 2px solid black;
                        margin: 20px;
                        padding: 20px;
                      }
                  </style>
              </head>
              <body>
                  <div class="c1">
                      <h2>彩虹運維技術棧社區,公眾號ID:TtrOpsStack</h2>
                  </div>
          
                  <div class="c1">
                      <p>筆者親自設計的,一個入侵性極低的Oracle監控方案</p>
                      <a href="https://mp.weixin.qq.com/s/PDm2bK7IMFOwjNHFOblgXg" target="_blank">oracledb_exporter監控Oracle,一個入侵性極低的監控方案。</a>
                  </div>
          
                  <div class="c1">
                      <p>意猶未盡的第2篇再次推出,一個入侵性極低的Oracle監控方案</p>
                      <a href="https://mp.weixin.qq.com/s/gFeWlZRGkIMAOCNFpKm8-Q" target="_blank">意猶未盡的第2篇再次推出,繼續講解oracledb_exporter監控Oracle,一個入侵性極低的監控方案。</a>
                  <div>
              </body>
          </html>
          

          效果如下圖:

          好了,我們正式開始對它進行剖析,搞清楚到底啥是類,上面的小栗子中,定義了3個div元素,它們的class屬性值均為 "c1"。然后注意到沒有?在head中的style標簽里,通過 ”.c1“ 的方式同時對3個div進行了css樣式的設置。所以也由此引出了它的一個特點,那就是多個HTML元素可以共享同一個類,上述的例子中3個div(元素)的類(class)名都定義了為“c1”,且同時對3個div進行了css樣式的設置,這就是它的共享性。不知道筆者說明白了沒有,好尷尬。

          那接下來,我們再來個小栗子:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
                  <style>
                      .c2 {
                          font-size: 120%;
                          color: crimson;
                      }
                  </style>
              </head>
              <body>
                  <h1>彩虹<span class="c2">運維</span>技術棧社區</h1>
                  <p>我們會<span class="c2">持續分享</span>運維和運維開發領域相關的技術文章</p>
              </body>
          </html>
          

          效果如下圖:

          上面的例子中,“運維”和“持續分享”這兩個字都在span標簽里,且這兩個span標簽都定義了class屬性,class=“c2”,同時通過“.c2”的方式設置了CSS屬性。上面的例子中,就是通過這樣的辦法實現了對某部分的文字進行樣式的設置。

          截止目前,我們通過兩個小栗子,直接解剖了什么是類,那么我們再做個小總結:

          • class屬性可以用于任何HTML元素
          • 類名區分大小寫

          CLASS的語法

          其實在前面的小栗子中,已經講解過class的語法了,不知道廣大盆友們注意到了沒有。如果沒有注意到,咱們再這個章節重新復習一下。

          看下面代碼:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
                  <style>
                      .cc3 {
                        background-color: blue;
                        color: white;
                        padding: 8px;
                      }
                  </style>
              </head>
              <body>
                  <h2 class="cc3">彩虹運維技術棧社區,公眾號ID:TtrOpsStack</h2>
                  <p class="cc3">我們會持續分享運維和運維開發領域相關的技術文章</p>
              </body>
          </html>
          

          效果如下圖:

          上面的例子中,是如何引用到文本內容并設置CSS屬性的呢?答案就是通過.css3這樣的語法,我們設置的類名是css3。然后在style中,設置css屬性,在{}大括號里的內容就是CSS的屬性,關于CSS,筆者后續會專門逐一講解哈。

          一個元素可以屬于多個類

          什么?一個元素可以屬于多個類?到底怎么玩,廢話不說,咱們上個例子就知道了。下面的例子,是在上一個例子的基礎上進行了小改造,看下面代碼:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
                  <style>
                      .cc3 {
                        background-color: blue;
                        color: white;
                        padding: 8px;
                      }
                      .css4 {
                          text-align: center;
                      }
                  </style>
              </head>
              <body>
                  <h2 class="cc3 css4">彩虹運維技術棧社區,公眾號ID:TtrOpsStack</h2>
                  <p class="cc3">我們會持續分享運維和運維開發領域相關的技術文章</p>
              </body>
          </html>
          

          效果如下圖:

          注意到這個語法了嗎?class="cc3 css4",沒錯了!在上面的style中,分別對同一個h2元素進行設置了不同的CSS屬性。也就是說,對同一個元素需要定義多個類,用空格分隔類名就可以實現啦!是不是太簡單了啦?

          類的復用

          什么?類的復用怎么理解?也就是說不同的元素可以共享同一個類。其實這個概念,在之前的例子中都有用到啦!只不過還沒有拋出這個概念而已,下面我們來個小栗子,鞏固一下。

          這個例子是在上一個例子的基礎上做了小改造,看下面代碼:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
                  <style>
                      .share_class {
                          background-color: blue;
                          color: white;
                          padding: 8px;
                          text-align: center;
                      }
                  </style>
              </head>
              <body>
                  <h2 class="share_class">彩虹運維技術棧社區,公眾號ID:TtrOpsStack</h2>
                  <p class="share_class">我們會持續分享運維和運維開發領域相關的技術文章</p>
              </body>
          </html>
          

          效果如下圖:

          注意到了嗎?兩個元素:h2和p元素,都使用了相同的類,類名叫share_class,這就達到了復用的效果呀!

          JavaScript使用class

          截止目前,還沒講解到js,那么先講個小知識點,js如何使用class的。當然,核心的用法也是使用類名為指定的元素完成一些功能,在JavaScript里是通過getElementsByClassName()方法來訪問元素中的類名,反言之,也可以說是通過getElementsByClassName()方法來訪問帶有指定類名的元素。關于js的知識,后續筆者會一一講解每個知識點,不急,咱們慢慢來。

          下面,先來個小栗子,這例子很簡單,通過js實現點擊后隱藏h2和p元素的內容,下面看代碼:

          <!DOCTYPE html>
          <html lang="zh">
              <head>
                  <meta charset="UTF-8">
                  <title>陪你復習鞏固,攻破前端技能</title>
              </head>
              <body>
                  <button onclick="my_fun()">點擊可以隱藏元素哦</button>
                  <h2 class="c1">彩虹運維技術棧社區,公眾號ID:TtrOpsStack</h2>
                  <p class="c1">我們會持續分享運維和運維開發領域相關的技術文章</p>
          
              <script>
                  function my_fun() {
                    var x = document.getElementsByClassName("c1");
                    for (var i = 0; i < x.length; i++) {
                      x[i].style.display = "none";
                    }
                  }
              </script>
              
              </body>
          </html>
          

          效果如下圖:

          • 隱藏前

          • 隱藏后

          看到效果了嗎?隱藏的功能就是通過js實現的,js很強大,后面我們一起專門分享js的知識點。

          寫在最后

          好了,今晚的知識點分享到此為止啦!誠邀廣大盆友的關注,望多多點贊、轉發、收藏。


          本文轉載于(喜歡的盆友關注我們):https://mp.weixin.qq.com/s/c9tXDae2l1osseOwKzILuQ


          主站蜘蛛池模板: 色狠狠AV一区二区三区| 无码中文字幕乱码一区 | 亚洲乱码av中文一区二区 | 精品欧美一区二区在线观看| 日韩在线不卡免费视频一区 | 红杏亚洲影院一区二区三区| 久久久国产精品一区二区18禁| 一区高清大胆人体| 亚洲国产欧美国产综合一区| jazzjazz国产精品一区二区| 无码精品尤物一区二区三区| 精品一区二区在线观看| 一区二区三区在线观看中文字幕| 无码人妻aⅴ一区二区三区有奶水| 波多野结衣一区二区免费视频 | 国产一区二区三区播放| 一区二区三区在线|日本| 熟妇人妻系列av无码一区二区| 日本一区频道在线视频| 中文字幕在线一区二区三区| 久久国产精品免费一区| 亚洲av无码一区二区三区不卡| 亚州AV综合色区无码一区| 国产精品成人国产乱一区| 亚洲中文字幕一区精品自拍| 国产一区二区在线观看视频| 免费一区二区三区| 一区二区三区四区电影视频在线观看| 久久久99精品一区二区| 91无码人妻精品一区二区三区L| 在线精品自拍亚洲第一区| 国产一区二区三区高清视频| 亚洲午夜精品一区二区公牛电影院| 国产一区精品视频| 久久久久无码国产精品一区| 国产伦精品一区二区三区免费下载 | 国产对白精品刺激一区二区| 一区二区三区在线观看视频| 日本免费一区二区在线观看| 精品乱子伦一区二区三区| 亚洲乱码一区av春药高潮|