有沒有辦法找出一個元素是否被另一個不是第一個元素的子元素所遮擋?因爲當您點擊頁面上的任意位置時,我喜歡隱藏一個菜單,但噹噹前有一個隱藏菜單的Lightbox打開時,不會顯示該菜單。找出一個元素是否被JavaScript遮擋了
0
A
回答
0
你必須自己評估它。
考慮最前面元素的座標和大小,然後檢查「碰撞」與它後面的元素,你需要控制。
這基本上是檢查重疊的方塊。
0
function isObscured(element) {
// get element at element's position
var elem = document.elementFromPoint(element.offsetLeft, element.offsetTop);
// return whether obscured element has same parent node (will also return false if
// element === elem)
return elem.parentNode !== element.parentNode;
}
+0
我知道的功能,但使用的是我'需要檢查2D範圍內的每個像素'(element.offsetLeft ... element.offsetLeft + element.offsetWidth,element.offsetTop ... element.offsetTop + element.offsetHeight)'。 – panzi
+1
實際的屏幕位置(elementFromPoint對其參數要求)必須通過將offsetParent層次向上爬到文檔來計算。有關代碼和解釋,請參閱http://www.quirksmode.org/js/findpos.html – dlaliberte
相關問題
- 1. 找出矩形是否被上面的矩形遮擋了?
- 2. handleGetURLEvent:withReplyEvent:在AppDelegate被KVO遮擋了嗎?
- 3. 如何確定某個點是否被視線遮擋?
- 4. YouTubePlayerView被com.google.android.youtube.player.YouTubePlayerView遮擋掉
- 5. 在數碼照片中,如何檢測一座山是否被雲遮擋?
- 6. Modal View的工具欄被遮擋。 MFMailComposeViewController
- 7. 如何找出一個HTML元素是否在另一個HTML元素之後?
- 8. Selenium WebDriver - 確定元素是否可點擊(即不被dojo模式燈箱遮擋)
- 9. XAudio2遮擋處理
- 10. 如何遮擋Wordpress?
- 11. 如何查找某個DOM元素是否附加了一些Javascript?
- 12. 查找是否一個元素被其他元素與第一元素的只是ID重疊
- 13. jquery droppable on deactivate找出一個元素是否被成功刪除
- 14. 找出哪一個子元素是
- 15. 是否有可能有一個透明的SCNNode,但是它遮擋了它後面的任何對象?
- 16. 如何找出元素是否被jQuery包裝?
- 17. HTML無序列表中有一半被遮擋的子彈
- 18. 找出元素是否在枚舉中
- 19. ListView遮擋同級視圖?
- 20. 用八分屏障遮擋
- 21. 旋轉iPhone遮擋廣告
- 22. Tango AR Camera中的遮擋
- 23. PCL:textureMeshwithMultipleCameras()如何處理遮擋?
- 24. SVG遮罩元素
- 25. 確定窗體是否被阻擋
- 26. UIImagePickerController照片預覽被一個未知的黑色框架遮擋
- 27. Qt圖形被另一個遮擋,但仍然導致畫面更新
- 28. 如何判斷一個元素是否是JavaScript中另一個元素的子元素(沒有jQuery)?
- 29. 如何判斷元素是否是javascript/jquery中父元素的最後一個或第一個子元素?
- 30. 找出元素是否是另一個後裔的最佳方法
http://stackoverflow.com/questions/1403615/use-jquery-to-hide-div-when-click-outside-it –