scrol家族 offset家族 client家族學習

Scroll 系列屬性

scrollTop & scrollLeft

  1. scrollTop: 返回元素的內容已向上滾動的部分的高度。
  2. scrollLeft: 返回元素的內容已向左滾動的部分的寬度。

scrollHeight & scrollWidth

  1. scrollHeight: 返回元素的實際高度,包括由于溢出而在屏幕上不可見的內容。
  2. scrollWidth: 返回元素的實際寬度,包括由于溢出而在屏幕上不可見的內容。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Scroll Properties Example</title><style>#container {width: 200px;height: 200px;overflow: auto;border: 1px solid black;}.content {width: 300px;height: 300px;}</style>
</head>
<body><div id="container"><div class="content"></div></div><button onclick="logScrollProperties()">Log Scroll Properties</button><script>function logScrollProperties() {const container = document.getElementById('container');console.log(`scrollTop: ${container.scrollTop}`);console.log(`scrollLeft: ${container.scrollLeft}`);console.log(`scrollHeight: ${container.scrollHeight}`);console.log(`scrollWidth: ${container.scrollWidth}`);}// 示例:自動滾動到底部setTimeout(() => {const container = document.getElementById('container');container.scrollTop = container.scrollHeight;container.scrollLeft = container.scrollWidth;}, 2000);</script>
</body>
</html>

Offset 系列屬性

offsetTop & offsetLeft

  1. offsetTop: 元素相對于最近的定位祖先元素(position != static)頂部的距離。如果沒有這樣的祖先,則相對于初始包含塊(通常是視口)
  2. offsetLeft: 元素相對于最近的定位祖先元素左側的距離。如果沒有這樣的祖先,則相對于初始包含塊。

offsetParent

  1. offsetParent: 返回一個指向最近的設置了 position 屬性(除了static之外)的祖先元素。如果沒有這樣的祖先,則返回 null 或者?<body>?元素。

offsetHeight & offsetWidth

  1. offsetHeight: 包括 content + padding + border 的總高度。
  2. offsetWidth: 包括 content + padding + border 的總寬度。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Offset Properties Example</title><style>#outer {position: relative;top: 50px;left: 50px;width: 200px;height: 200px;background-color: lightblue;}#inner {position: absolute;top: 20px;left: 20px;width: 100px;height: 100px;background-color: yellow;}</style>
</head>
<body><div id="outer">Outer Div<div id="inner">Inner Div</div></div><button onclick="logOffsetProperties()">Log Offset Properties</button><script>function logOffsetProperties() {const outer = document.getElementById('outer');const inner = document.getElementById('inner');console.log(`Outer div's offsetTop: ${outer.offsetTop}, offsetLeft: ${outer.offsetLeft}`);console.log(`Inner div's offsetTop: ${inner.offsetTop}, offsetLeft: ${inner.offsetLeft}`);console.log(`Outer div's offsetHeight: ${outer.offsetHeight}, offsetWidth: ${outer.offsetWidth}`);console.log(`Inner div's offsetHeight: ${inner.offsetHeight}, offsetWidth: ${inner.offsetWidth}`);console.log(`Inner div's offsetParent: `, inner.offsetParent);}</script>
</body>
</html>

Client 系列屬性

clientTop & clientLeft

  1. clientTop: 邊框的厚度(上邊框),不包括外邊距、內填充或水平滾動條
  2. clientLeft: 左側邊框的厚度。

clientHeight & clientWidth

  1. clientHeight: 可見區域的高度,包括內填充不包括邊框、外邊距或水平滾動條
  2. clientWidth: 可見區域的寬度,包括內填充但不包括邊框、外邊距或垂直滾動條。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Client Properties Example</title><style>#element {width: 200px;height: 200px;margin: 20px;padding: 10px;border: 5px solid red;overflow-y: scroll;}</style>
</head>
<body><div id="element">Some long text here... Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div><button onclick="logClientProperties()">Log Client Properties</button><script>function logClientProperties() {const element = document.getElementById('element');console.log(`clientTop: ${element.clientTop}`); // Border thickness (top)console.log(`clientLeft: ${element.clientLeft}`); // Border thickness (left)console.log(`clientHeight: ${element.clientHeight}`); // Visible area including padding but excluding borders and scrollbarconsole.log(`clientWidth: ${element.clientWidth}`); // Same logic applies horizontally}</script>
</body>
</html>

總結

scrollscrollTop元素內容垂直滾動的像素數。
scrollLeft元素內容水平滾動的像素數。
scrollHeight元素內容的總高度,括在視口中不可見的部分。
scrollWidth元素內容的總寬度,包括在視口中不可見的部分。
offsetoffsetTop元素頂部相對于包含元素的頂部的距離。
offsetLeft元素左邊緣相對于包含元素左邊緣的距離。
offsetHeight元素的高度,包括邊框和內邊距
offsetWidth元素的寬度,包括邊框和內邊距。
clientclientTop元素的上邊框的寬度。
clientLeft元素的左邊框的寬度。
clientHeight元素的內部高度,不包括水平滾動條高度。
clientWidth元素的內部寬度,不包括垂直滾動條寬度。

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

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

相關文章

Python 函數魔法書:基礎、范例、避坑、測驗與項目實戰

Python 函數魔法書&#xff1a;基礎、范例、避坑、測驗與項目實戰 內容簡介 本系列文章是為 Python3 學習者精心設計的一套全面、實用的學習指南&#xff0c;旨在幫助讀者從基礎入門到項目實戰&#xff0c;全面提升編程能力。文章結構由 5 個版塊組成&#xff0c;內容層層遞進…

在Windows系統中本地部署屬于自己的大語言模型(Ollama + open-webui + deepseek-r1)

文章目錄 1 在Windows系統中安裝Ollama&#xff0c;并成功啟動&#xff1b;2 非docker方式安裝open-webui3下載并部署模型deepseek-r1 Ollama Ollama 是一個命令行工具&#xff0c;用于管理和運行機器學習模型。它簡化了模型的下載與部署&#xff0c;支持跨平臺使用&#xff0c…

React中的JavaScript語法

最近在看《深入淺出react和redux》。其實react-redux采用的單相流flux是對傳統mvc的一種改進&#xff0c;而Qt的qml遵循的是傳統mvc&#xff0c;已有類似flux的Qt-qml實現&#xff0c;比如&#xff1a;GitHub - benlau/quickflux: A Flux implementation for QML。為了更好理解…

ProGen生成功能蛋白序列

LLM在包括蛋白質設計等各種生物技術應用中展現出了潛力。ProGen是一種語言模型&#xff0c;它能夠生成在大型蛋白質家族中具有可預測功能的蛋白質序列&#xff0c;這類似于針對不同主題生成語法和語義正確的自然語言句子。該模型在來自超過19,000個家族的2.8億個蛋白質序列上進…

省級數字經濟發展水平數據(2011-2022年)-社科數據

省級數字經濟發展水平數據&#xff08;2011-2022年&#xff09;-社科數據https://download.csdn.net/download/paofuluolijiang/90028602 https://download.csdn.net/download/paofuluolijiang/90028602 數字經濟是指以數據資源為關鍵要素、以現代信息網絡為主要載體、以信息…

Leecode刷題C語言之跳躍游戲②

執行結果:通過 執行用時和內存消耗如下&#xff1a; int jump(int* nums, int numsSize) {int position numsSize - 1;int steps 0;while (position > 0) {for (int i 0; i < position; i) {if (i nums[i] > position) {position i;steps;break;}}}return steps…

《多線程基礎之條件變量》

【條件變量導讀】條件變量是多線程中比較靈活而且容易出錯的線程同步手段&#xff0c;比如&#xff1a;虛假喚醒、為啥條件變量要和互斥鎖結合使用&#xff1f;windows和linux雙平臺下&#xff0c;初始化、等待條件變量的api一樣嗎&#xff1f; 本文將分別為您介紹條件變量在w…

【信息系統項目管理師-選擇真題】2009上半年綜合知識答案和詳解

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 【第1題】【第2~3題】【第4題】【第5題】【第6題】【第7題】【第8題】【第9題】【第10題】【第11題】【第12題】【第13題】【第14題】【第15題】【第16題】【第17題】【第18題】【第19題】【第20題】【第21題】…

消息隊列篇--通信協議篇--TCP和UDP(3次握手和4次揮手,與Socket和webSocket的概念區別等)

1、TCP和UDP概述 TCP&#xff08;傳輸控制協議&#xff0c;Transmission Control Protocol&#xff09;和UDP&#xff08;用戶數據報協議&#xff0c;User Datagram Protocol&#xff09;都算是最底層的通信協議&#xff0c;它們位于OSI模型的傳輸層。*傳輸層的主要職責是確保…

mysql_store_result的概念和使用案例

mysql_store_result() 是 MySQL C API 中的一個函數&#xff0c;用于檢索一個完整的結果集到一個客戶端。當執行一個查詢&#xff08;通常是 SELECT 查詢&#xff09;并希望處理所有返回的數據時&#xff0c;可以使用此函數。 概念 mysql_store_result() 函數的原型如下&…

React Router v6配置路由守衛

首先準備好以下頁面 登錄頁&#xff1a;用戶可以在此頁面登錄。 受保護頁&#xff1a;只有登錄的用戶可以訪問&#xff0c;否則會重定向到登錄頁。 公共頁面&#xff1a;不需要鑒權&#xff0c;任何人都可以訪問。 1. 安裝依賴 首先&#xff0c;我們需要安裝 react-router-do…

打破傳統束縛:領略 Web3 獨特魅力

在互聯網發展的歷程中&#xff0c;我們見證了Web1和Web2的變遷。Web1是靜態信息的展示平臺&#xff0c;Web2則引領了社交互動和內容創作的繁榮&#xff0c;而如今&#xff0c;Web3作為新時代的互聯網架構&#xff0c;正逐漸展現出其獨特的魅力&#xff0c;帶領我們走向一個更加…

[論文總結] 深度學習在農業領域應用論文筆記14

當下&#xff0c;深度學習在農業領域的研究熱度持續攀升&#xff0c;相關論文發表量呈現出迅猛增長的態勢。但繁榮背后&#xff0c;質量卻不盡人意。相當一部分論文內容空洞無物&#xff0c;缺乏能夠落地轉化的實際價值&#xff0c;“湊數” 的痕跡十分明顯。在農業信息化領域的…

Linux 學習筆記__Day3

十八、設置虛擬機的靜態IP 1、VMware的三種網絡模式 安裝VMware Workstation Pro之后&#xff0c;會在Windows系統中虛擬出兩個虛擬網卡&#xff0c;如下&#xff1a; VMware提供了三種網絡模式&#xff0c;分別是&#xff1a;橋接模式&#xff08;Bridged&#xff09;、NAT…

QT+mysql+python 效果:

# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 導入需要的類# Important: # 你需要通過以下指令把 form.ui轉為ui…

筆記本跑大模型嘗試

1&#xff0c;筆記本電腦資源 我是一臺聯想筆記本電腦&#xff0c;基本配置如下&#xff1a; CPU&#xff1a;12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz (12核心&#xff0c;2個P核和8個E核&#xff0c;共計10個核心) 顯卡&#xff1a;NVIDIA GeForce MX550 內存&am…

C語言實現掃雷游戲(有展開一片和標記雷的功能)

實現準備 分2個.c源文件和1個.h頭文件去寫代碼 test.c 對掃雷游戲進行測試game.c 掃雷游戲功能的實現game.h 掃雷游戲功能的聲明 掃雷游戲 1.test.c對掃雷游戲進行測試 首先我們要先把玩游戲的框架寫出來&#xff0c;然后一步一步去完成其功能 跟著下面的代碼的節奏走一步一步…

GitHub 倉庫的 Archived 功能詳解:中英雙語

GitHub 倉庫的 Archived 功能詳解 一、什么是 GitHub 倉庫的 “Archived” 功能&#xff1f; 在 GitHub 上&#xff0c;“Archived” 是一個專門用于標記倉庫狀態的功能。當倉庫被歸檔后&#xff0c;它變為只讀模式&#xff0c;所有的功能如提交代碼、創建 issue 和 pull req…

基礎IO(2)

基礎IO&#xff08;2&#xff09; 理解“?切皆?件” ?先&#xff0c;在windows中是?件的東西&#xff0c;它們在linux中也是?件&#xff1b;其次?些在windows中不是?件的東西&#xff0c;?如進程、磁盤、顯?器、鍵盤這樣硬件設備也被抽象成了?件&#xff0c;你可以使…

Transformation,Animation and Viewing

4 Transformation&#xff0c;Animation and Viewing 聲明&#xff1a;該代碼來自&#xff1a;Computer Graphics Through OpenGL From Theory to Experiments&#xff0c;僅用作學習參考 4.1 Modeling Transformations 平移、縮放和旋轉&#xff0c;即 OpenGL 的建模轉換&…