js判斷鼠標(biāo)位置是否在某個(gè)div中的方法
本文實(shí)例講述了js判斷鼠標(biāo)位置是否在某個(gè)div中的方法。分享給大家供大家參考,具體如下:
div的onmouseout事件讓div消失時(shí),會(huì)出現(xiàn)這樣的情況,就是當(dāng)鼠標(biāo)移至div中的其它內(nèi)容時(shí),此時(shí)也判定為離開(kāi)div,會(huì)觸發(fā) onmouseout事件,這樣div中的內(nèi)容就不能操作了。解決的辦法是當(dāng)觸發(fā)onmouseout事件時(shí),先判斷鼠標(biāo)是否在div內(nèi),如果在,說(shuō)明鼠 標(biāo)并沒(méi)有離開(kāi)div,就不刪除div,否則,刪除之。OK,現(xiàn)在問(wèn)題解決了。
就是找到該div左上角和右下角坐標(biāo),判斷鼠標(biāo)的坐標(biāo)是否在這一區(qū)域就可以了。
div.onmouseout=function(event){ var div = document.getElementById("test"); var x=event.clientX; var y=event.clientY; var divx1 = div.offsetLeft; var divy1 = div.offsetTop; var divx2 = div.offsetLeft + div.offsetWidth; var divy2 = div.offsetTop + div.offsetHeight; if( x < divx1 || x > divx2 || y < divy1 || y > divy2){ //如果離開(kāi),則執(zhí)行。。 }
后面為一些常用屬性方便查找:
clientHeight 獲取對(duì)象的高度,不計(jì)算任何邊距、邊框、滾動(dòng)條,但包括該對(duì)象的補(bǔ)白。
clientLeft 獲取 offsetLeft 屬性和客戶(hù)區(qū)域的實(shí)際左邊之間的距離。
clientTop 獲取 offsetTop 屬性和客戶(hù)區(qū)域的實(shí)際頂端之間的距離。
clientWidth 獲取對(duì)象的寬度,不計(jì)算任何邊距、邊框、滾動(dòng)條,但包括該對(duì)象的補(bǔ)白。
offsetHeight 獲取對(duì)象相對(duì)于版面或由父坐標(biāo) offsetParent 屬性指定的父坐標(biāo)的高度。
offsetLeft 獲取對(duì)象相對(duì)于版面或由 offsetParent 屬性指定的父坐標(biāo)的計(jì)算左側(cè)位置。
offsetParent 獲取定義對(duì)象 offsetTop 和 offsetLeft 屬性的容器對(duì)象的引用。
offsetTop 獲取對(duì)象相對(duì)于版面或由 offsetTop 屬性指定的父坐標(biāo)的計(jì)算頂端位置。
offsetWidth 獲取對(duì)象相對(duì)于版面或由父坐標(biāo) offsetParent 屬性指定的父坐標(biāo)的寬度。
offsetX 設(shè)置或獲取鼠標(biāo)指針位置相對(duì)于觸發(fā)事件的對(duì)象的 x 坐標(biāo)。
offsetY 設(shè)置或獲取鼠標(biāo)指針位置相對(duì)于觸發(fā)事件的對(duì)象的 y 坐標(biāo)。
clientX,clientY 鼠標(biāo)當(dāng)前相對(duì)于網(wǎng)頁(yè)的位置,當(dāng)鼠標(biāo)位于頁(yè)面左上角時(shí)clientX=0, clientY=0
screenX, screenY是相對(duì)于用戶(hù)顯示器的位置
網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘?document.body.clientWidth
網(wǎng)頁(yè)可見(jiàn)區(qū)域高: document.body.clientHeight
網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘?document.body.offsetWidth (包括邊線(xiàn)的寬)
網(wǎng)頁(yè)可見(jiàn)區(qū)域高: document.body.offsetHeight (包括邊線(xiàn)的寬)
網(wǎng)頁(yè)正文全文寬: document.body.scrollWidth
網(wǎng)頁(yè)正文全文高: document.body.scrollHeight
網(wǎng)頁(yè)被卷去的高: document.body.scrollTop
網(wǎng)頁(yè)被卷去的左: document.body.scrollLeft
網(wǎng)頁(yè)正文部分上: window.screenTop
網(wǎng)頁(yè)正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的寬: window.screen.width
屏幕可用工作區(qū)高度: window.screen.availHeight
屏幕可用工作區(qū)寬度:window.screen.availWidth
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS鼠標(biāo)事件大全 推薦收藏
- 使用JS或jQuery模擬鼠標(biāo)點(diǎn)擊a標(biāo)簽事件代碼
- js與jquery中獲取當(dāng)前鼠標(biāo)的x、y坐標(biāo)位置的代碼
- js 鼠標(biāo)點(diǎn)擊事件及其它捕獲
- js改變鼠標(biāo)的形狀和樣式的方法
- javascript 鼠標(biāo)事件總結(jié)
- javascript監(jiān)聽(tīng)鼠標(biāo)滾輪事件淺析
- js鼠標(biāo)點(diǎn)擊按鈕切換圖片-圖片自動(dòng)切換-點(diǎn)擊左右按鈕切換特效代碼
- js中鼠標(biāo)滾輪事件詳解(firefox多瀏覽器)
- JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效
相關(guān)文章
在A(yíng)jax中使用Flash實(shí)現(xiàn)跨域數(shù)據(jù)讀取的實(shí)現(xiàn)方法
今天,小子再提供一種使用Flash進(jìn)行跨域操作的方法。眾所周之,其實(shí)Flash的跨域操作也是有限制的,不過(guò),F(xiàn)lash的跨域配置比簡(jiǎn)單,只需要在站點(diǎn)根目錄下放置crossdomain.xml即可。2010-12-12利用用JS實(shí)現(xiàn)一個(gè)實(shí)時(shí)小鬧鐘
天我們來(lái)聊聊如何使用JS來(lái)創(chuàng)建一個(gè)實(shí)時(shí)的小鬧鐘,這個(gè)小鬧鐘十分的有趣,小伙伴們可以運(yùn)行一下,看看跟你電腦上的時(shí)間是否對(duì)的上呢,文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11微信小程序?qū)崿F(xiàn)根據(jù)日期和時(shí)間排序功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)根據(jù)日期和時(shí)間排序功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08利用Three.js如何實(shí)現(xiàn)陰影效果實(shí)例代碼
使用three.js可以方便的讓我們?cè)诰W(wǎng)頁(yè)中做出各種不同的3D效果,下面這篇文章主要給大家介紹了關(guān)于利用Three.js如何實(shí)現(xiàn)陰影效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09通過(guò)js實(shí)現(xiàn)壓縮圖片上傳功能
這篇文章主要介紹了通過(guò)js實(shí)現(xiàn)壓縮圖片上傳功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02JS 實(shí)現(xiàn)導(dǎo)航欄懸停效果(續(xù)2)
發(fā)現(xiàn)原來(lái)的方法還有是有幾個(gè)問(wèn)題:首先Js代碼冗余,導(dǎo)航條上的Tab是用js實(shí)現(xiàn)跳轉(zhuǎn)而不是超鏈接,還有導(dǎo)航條本身用fixed定位,但沒(méi)有被設(shè)置為水平居中,而是在JS中更改left值使其居中2013-09-09利用three.js畫(huà)一個(gè)3D立體的正方體示例代碼
Three.js是一個(gè)3DJavaScript庫(kù),基于右手坐標(biāo)系,可以創(chuàng)建簡(jiǎn)單或是比較復(fù)雜的三維圖形并應(yīng)用豐富多彩的紋理和材質(zhì),可以添加五光十色的光源,可以在3D場(chǎng)景中移動(dòng)物體或是添加腳本動(dòng)畫(huà)等等。本文介紹了利用three.js如何畫(huà)一個(gè)3D立體的正方體的方法,需要的可以參考下。2017-11-11微信小程序?qū)崿F(xiàn)多行文字滾動(dòng)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)多行文字滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03通過(guò)Javascript讀取本地Excel文件內(nèi)容的代碼示例
這篇文章主要介紹了通過(guò)Javascript讀取本地Excel文件內(nèi)容的代碼示例,但需要一定的條件才可以使用js操作本地文件,需要的朋友參考下吧2014-04-04