js(Dom+Bom)第七天(1)

JavaScript

BOM介紹

概念

BOM(Browser Object Model)即瀏覽器對象模型。
本質: 通過對象抽象瀏覽器中的一些功能 例如:(刷新頁面,alert,confirm,pormpt,跳轉 ...)

BOM頂級對象

window對象是js中的頂級對象,定義在全局作用域中的變量、函數都會變成window對象的屬性和方法,在調用的時候可以省略window。?備注:1.文檔document也屬于window對象中的一個2.window代表整個窗口

頁面加載事件

1. 
window.onload = function() {}   ===> 頁面加載完成:頁面上的所有元素都創建完成,并且引用的外部資源都下載完畢(js,css)

定時器

  • setTimeout()

隔一段時間執行,只執行一次  ==》定時炸彈? 使用window.setTimeout(function, time);function: 處理程序,可以是匿名函數time: 間隔時間,毫秒? 清除定時器1. setTimeout有一個返回值,代表當前定時器的標識2. clearTimeOut(定時器標識)案例:刪除提示效果過程:點擊按鈕,顯示一個層,3秒以后自動消失
  • setInterval()

隔一段時間執行,并且會重復執行 ===》 類似于鬧鐘? 使用
window.setInterval(function, time);
function: 處理程序,可以是匿名函數
time:時間,毫秒? 清除定時器clearInterval(定時器id);? 課堂案例:	
1.時鐘案例
2.動畫效果 offsetLeft: 水平偏移量相對HTMLoffsetTop: 垂直偏移量相對HTML

location對象

location對象是window對象下的一個屬性,使用location可以設置或者獲取瀏覽器地址欄中的url

屬性

href:實現頁面跳轉
獲取地址 :location.href
設置地址 :location.href = "http://www.baidu.com"如果希望在新窗口中打開頁面:window.open('url路徑');

方法

? assign()  委派 : 作用于href的作用一樣,可以實現頁面跳轉
location.assign("http://www.baidu.com")? replace() 替換: 跳轉頁面,瀏覽器不記錄歷史,瀏覽器中后退按鈕無法使用
location.replace("http://www.baidu.com")? reload() 重新加載: 類似于 F5
備注:location.reload(true)  強制從服務器獲取頁面location.reload(false) 從瀏覽器本地緩存中獲取頁面F5,刷新頁面從緩存中加載Ctrl + F5 強制刷新頁面(從服務器獲取頁面)

其他屬性

  • url組成

統一資源定位符(網站地址)scheme://host:port/path?query#fragment
例如:http://www.baidu.com:port/index.html?name=zs&age=18#bottom
通信協議,常用的http,ftp
  • host
主機,服務器域名系統(DNS)或者IP地址
  • port
端口號,默認端口號 8080
  • pathname
路徑,代表一個具體的文件目錄或者一個文件夾

屬性介紹

location.host   --> 主機名(域名)
location.pathname   ---> 文件路徑
location.protocol   ---> 協議
location.port  ----> 端口

offset【獲取元素位置和大小】

? dom.offsetLeft  ---> 水平偏移
? dom.offsetTop   ---> 垂直偏移
備注:1.offsetLeft默認是相對整個HTML標簽,如果其父元素是一個定位元素那么就相對其父元素(類似于css中的絕對定位)? dom.offsetWidth  ---> 獲取當前元素在瀏覽器中的實際寬度(內容+邊框+內邊距)   
? dom.offsetHeight ---> 獲取當前元素在瀏覽器中的實際高度(內容+邊框+內邊距)   

在這里插入圖片描述

client【獲取元素位置和大小】

? dom.clientLeft  --> 獲取元素邊框的左邊框的寬度
? dom.clientTop --->  獲取元素上邊框的寬度? dom.clientWidth   -->  元素寬度【不包括邊框,但是包括內邊距】
? dom.clientHeight  -->  元素高度【不包括邊框,但是包括內邊距】總結:clientHeight = 內容區域 + paddingclientWidth = 內容區域 + padding

在這里插入圖片描述

scroll【獲取元素位置和大小】

? dom.scrollLeft   --->
? dom.scrollTop    --->滾動條向上滾動的距離【內容滾出去的距離】  [滾動事件 onscroll]? dom.scrollWidth   ---> 1. 如果內容區域小于當前元素,那么scrollWidth就代表當前元素大小【算內邊距,不算邊框】2. 如果內容區域大于當前元素,那么scrollWidth就等于內容區域大小 + 左內邊距? dom.scrollHeight  --->

在這里插入圖片描述

案例練習

素最后移動的位置 = 鼠標移動后的位置 - 鼠標按下時候的位置


- ### 彈出登錄窗口(模擬模態窗口)- ### 放大鏡```js1. onmouseenter 和 onmouseleave 屬于一組,不會有事件冒泡2. onmouseover 和 onmouseout 屬性一組,有事件冒泡
  • 封裝動畫

    animate.js
    

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

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

相關文章

「十二省聯考 2019」皮配——dp

題目 【題目描述】 #### 題目背景一年一度的綜藝節目《中國好碼農》又開始了。本季度,好碼農由 Yazid、Zayid、小 R、大 R 四位夢想導師坐鎮,他們都將組建自己的夢想戰隊,并率領隊員向夢想發起沖擊。 四位導師的**派系**不盡相同,…

收藏一個在線思維導圖的制作網站

https://www.processon.com/ 轉載于:https://www.cnblogs.com/132818Creator/p/11447077.html

js(Dom+Bom)第七天(2)

webAPI 01-動畫封裝 應用到的知識點 點擊事件 給元素設置一個絕對定位 定時器(setInterval) 封裝動畫1的步驟: 讓元素設置為絕定位設置元素的開始位置(從哪開始移動)設置元素的目標位置(移動到哪)設置元素每次移動的距離設置元素每次移動的時間間隔(越短越好) 封裝動畫1遇…

鏈表中環的入口結點

題目描述 給一個鏈表,若其中包含環,請找出該鏈表的環的入口結點,否則,輸出null。 分析 第一步:確定一個鏈表中是否有環 我們可以用兩個指針來解決,定義兩個指針,同時從鏈表的頭結點觸發&#xf…

java 線程之線程狀態

Thread 類中的線程狀態: public enum State {NEW,//新建RUNNABLE,// 執行態BLOCKED, //等待鎖(在獲取鎖的池子里)WAITING,//等待狀態TIMED_WAITING,//定時等待TERMINATED; //終止 } 創建狀態(NEW):當一個線…

目標元素拖動

<div class"box"><div class"title">拖拽效果</div></div>* {margin: 0;padding: 0;}.box {width: 350px;height: 300px;border: 1px solid #ccc;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);cursor…

操作系統原理之內存管理(第四章第二部分)

一、基本分頁存儲管理方式 1、分?存儲管理的基本原理&#xff1a; 頁&#xff1a;將?個進程的邏輯地址空間分成若?個??相等的?頁框&#xff1a;將物理內存空間分成與???相同的若?個存儲塊分?存儲&#xff1a;將進程中的若??分別裝?多個可以不相鄰的?框中頁內碎片…

C#代碼總結02---使用泛型來獲取Asp前臺頁面全部控件,并進行屬性修改

該方法&#xff1a;主要用于對前臺頁面的不同類型&#xff08;TextBox、DropDownList、等&#xff09;或全部控件進行批量操作&#xff0c;用于批量修改其屬性&#xff08;如&#xff0c;Text、Enable&#xff09;。 private void GetControlList<T>(ControlCollection c…

d3.js 教程 模仿echarts柱狀圖

由于最近工作不是很忙&#xff0c;隧由把之前的charts項目用d3.js重寫的一下&#xff0c;其實d3.js文檔很多&#xff0c;但是入門不是很難&#xff0c;可是想真的能做一個完成的&#xff0c;交互良好的圖還是要下一番功夫的。今天在echarts找到了一個柱狀圖&#xff0c;如圖。 …

簡單的動畫函數封裝(2)

<div></div><!-- <span></span> --><button class"btn1">點擊500</button><button class"btn2">點擊800</button>div{width: 100px;height: 100px;background-color: red;position: absolute;top: …

【蔡勒公式 】根據給定的年月日求出對應星期幾

蔡勒公式 蔡勒&#xff08;Zeller&#xff09;公式&#xff0c;是一個計算星期的公式&#xff0c;隨便給一個日期&#xff0c;就能用這個公式推算出是星期幾。時間復雜度&#xff1a;O(1)。具體的在紅書P229有。 若要計算的日期是在1582年10月4日或之前&#xff0c;公式則為&am…

MFC的程序,不想顯示窗口,任務欄里也不顯示

在dialog的oninitdialog里設置如下屬性&#xff0c;很簡單&#xff0c;網上一些亂七八糟的做法&#xff0c;一行代碼就能搞定啊 SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW); ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); 轉載于:https://www.cnblog…

放大鏡制作(2)—此方法比較容易理解

<div class"box" id"box"><!--左側的盒子--><div class"left_img"><!--圖片--><img src"images/small.jpg" class"aaa" alt"小圖片"/><!--黃色小盒子--><div class"…

call / apply / bind

對于 call / apply / bind 來說&#xff0c;他們的首要目的是用于改變執行上下文的 this 指針。 call / apply 對 call / apply 的使用&#xff0c;一般都如下&#xff0c;用于改變執行環境的上下文。只是 call 接受的是一個一個的參數&#xff0c;而 apply 則是接受的是一個參…

js(Dom+Bom)第八天—Swiper(插件)

Swiper插件(庫) 01-基本介紹 Swiper 是一款免費以及輕量級的移動設備觸控滑塊的js框架&#xff0c;使用硬件加速過渡&#xff08;如果該設備支持的話&#xff09;。主要使用于移動端的網站、移動web apps&#xff0c;native apps和hybrid apps。主要是為IOS而設計的&#xff…

第七節:EF Core調用SQL語句和存儲過程

一. 查詢類(FromSql) 1.說明 A. SQL查詢必須返回實體的所有屬性字段。 B. 結果集中的列名必須與屬性映射到的列名相匹配。 C. SQL查詢不能包含關聯數據 D. 除Select以為的其它SQL語句無法運行。 2.調用SQL語句的幾種情況 A. 基本的原生SQL查詢 B. 利用$內插語法進行傳遞 C. 原生…

沒用的一些水貨

1. 不遞歸的子函數加上inline會跑的很快。 2. 在稠密圖中用dijkstra堆優化會導致跑的很慢。 3. 連著開幾個數組的話&#xff0c;有可能越界了評測機卻返回WA。 4. 如果你用的Dev-C&#xff0c;那么有的時候會出現一些莫名其妙的編譯錯誤。請檢查是否存在未關閉的代碼生成的.exe…

js(Dom+Bom)第八天

JavaScript 移動端事件介紹 touch事件類型 移動設備上無法使用鼠標&#xff0c;當手指按下屏幕的時候會觸發 click,mousedown,mouseup事件&#xff0c;但是在移動設備上有專門的事件&#xff1a; touch 備注&#xff1a; 在移動端touch事件需要通過事件監聽的方式添加touchsta…

程序員計算器HEX、EDC、OCT等等的意思

binary 二進制 對應的是 BINoctal 八進制的 ---- OCThexadecimal 十六進制的 --- HEXdecimal 十進制的 -- DEC 轉載于:https://www.cnblogs.com/132818Creator/p/11459984.html

為什么mysql 5.7.24啟停不顯示錯誤信息?log-error_verbosity參數

關鍵詞&#xff1a;log-error_verbosity &#xff0c;mysql啟停沒有信息&#xff0c;mysql啟停不顯示錯誤信息&#xff0c;mysql不顯示啟停信息 原因就是因為 log-error_verbosity 2 被設置成了1/2&#xff0c;需要設置成3才行。 轉載自&#xff1a;https://www.cnblogs.com/k…