我想檢測是否在瀏覽器窗口中看不到我正在構建的交互式地圖。如果div不可見,我會顯示一個彈出窗口,說「這樣」或類似的東西。主要問題是檢測div何時在文檔窗口中不可見。檢測div是否在瀏覽器窗口中不可見
回答
我從你的問題收集要檢測一個DIV可以在屏幕的可見部分可以看出,不在於它是可見基礎的是在其CSS(顯示,可視性)上。
如果是這樣,您需要確定div的偏移量,然後檢查它是否位於文檔尺寸或其他元素的尺寸範圍內。
像這樣的東西(假設你使用jQuery)...
var div_offset = $('#div').offset();
if(div_offset.top < $(document).height() &&
div_offset.left < $(document).width()) {
// div is within window bounds
}
這是一個非常簡單的例子。你當然需要考慮你想要顯示多少div元素以使其被視爲「可見」......即使只有div的單個頂部/左側像素位於上面的代碼也是如此文件邊界。通過測試是否通過將寬度/高度添加到偏移量顯示右下角來做到這一點。
可以使用is
功能與:visible
if($('#divId').is(':visible'))
{
alert("div is visible");
}
else
{
alert("div is not visible");
}
或
if($('#divId :visible').length)
{
alert("div is visible");
}
else
{
alert("div is not visible");
}
你可以,但是它與* viewport *中的div是否可見無關,只是它在* document *中的任何位置都可見。從[文檔](http://api.jquery.com/visible-selector/):*「如果元素佔用文檔中的空間,則認爲元素可見。」* –
您可以檢查如下:
if (document.getElementById("myDiv").style.visibility == 'hidden'){
//
}else{
//
}
這不檢查元素是否可見。例如,如果一個包含'visibility:hidden'的CSS規則應用於元素,'style.visibility'將不會**爲'hidden'。 'style'只涉及直接應用於元素的樣式(而不是規則)。此外,還有很多其他方法不可見(例如'display:none')。我相當肯定OP在詢問元素是否在視口*中可見。 –
你也可以用這樣的沒有「是」
// check if div is visible
$("div:visible").click(function() {
alert("hello to all");
});
// check if div is hidden
$("div:hidden").show("fast");
- 1. 檢測是否格是在瀏覽器窗口中可見
- 2. 檢查整個div是否在瀏覽器窗口中可見
- 3. Dygraphs div不可見,直到瀏覽器檢查窗口打開
- 4. 檢測窗口是否可見
- 5. 畫布:檢測它是否在瀏覽器中可見
- 6. 在javascript中檢測瀏覽器窗口
- 7. 當div在瀏覽器窗口中可見時運行腳本
- 8. 任何方式來檢測瀏覽器窗口是多少可見?
- 9. 檢查div是否在窗口中可見?
- 10. jQuery的:當一個div是在瀏覽器窗口中可見的通知
- 11. 如何從IOS上的JS檢測瀏覽器是否可見?
- 12. 是否可以在Tmux窗格中顯示瀏覽器窗口?
- 13. 有沒有辦法檢測瀏覽器窗口是否關閉?
- 14. 使js文件在瀏覽器調試窗口中不可見
- 15. jQuery - 在瀏覽器中使DIV可見
- 16. 如何檢測瀏覽器(不是窗口)關閉事件
- 17. 檢測窗口是否是可可中的關鍵窗口
- 18. 檢查窗口標題是否可見
- 19. 如何檢測瀏覽器窗口中是否實際存在滾動條
- 20. 檢測表單POST瀏覽器窗口是否在Javascript中打開?
- 21. 是否可以控制瀏覽器窗口滾動條的可見性?
- 22. 在Javascript中,如何檢測瀏覽器窗口在視圖中?
- 23. 瀏覽器中不可見git克隆的窗口文件。既不是
- 24. 檢測瀏覽器窗口/標籤何時不在前臺
- 25. Xcode窗口可以是「文檔」窗口而不是「瀏覽器」窗口嗎?
- 26. 是否可以在瀏覽器中檢測重繪/重排?
- 27. 使用JS,有沒有辦法在瀏覽器窗口中檢測哪些文本是可見的?
- 28. Selenium/PHPUnit。是否可以在窗口/瀏覽器之上打開一個乾淨的新窗口/瀏覽器?
- 29. 在Flex中檢測瀏覽器窗口關閉事件?
- 30. Silverlight:FrameworkElement.FindName()在瀏覽器窗口中不可見時找不到控件
您的意思是不可見,如「不在視口中」或「隱藏(css)」。我有一種感覺,那就是人們誤解了這個問題...... – elclanrs