1
只有當HTML文檔的一部分可見時,我纔想繼續執行特定的javascript函數。這意味着當該部分不再可見時,停止執行功能。當部分HTML當前可見時,如何持續執行Javascript函數?
走出可見範圍意味着元件是方式:
- 滾動出來(垂直或水平)
- 改變爲一些其他的瀏覽器標籤
- 標籤/窗口關閉/整個瀏覽器。
示例代碼: 我有HTML與樣式,以確保我有格主(整個頁面)和DIV的目標就是我的下清晰可見範圍屏幕(1920×1080)上:
<html>
<head>
<title>Title</title>
<style type="text/css">
#main{
height: 2300px;
}
.target{
border: 1px solid black;
position: relative;
top:1000px;
width:150px;
height: 150px;
}
</style>
<script scr="js/jquery.js"></script>
</head>
<body>
<div id="main">
<div class="target"></div>
</div>
</body>
</html>
什麼是JS/jQuery代碼,將命令:
當div.target是目前創建my_function可見觸發器執行()
當div.target滾出或標籤更改時,停止執行my_function() ?
我會說連續執行的腳本會在一段時間後發生錯誤。如果執行腳本,也不可能滾動頁面。 – Teemu
@Teemu:我見過這樣的解決方案。爲什麼在腳本執行後我無法在頁面上滾動頁面? –
@Teemu你可以使用'setInterval',這樣函數就不會被繼續調用,而是會週期性地發揮作用,而不會阻塞UI。或者在後臺工作人員中運行它。 (取決於函數中的內容)。 Ahren暗示,isVisible部分有點棘手。 ':visible'檢測不到視圖滾動。也許[這](https://groups.google.com/forum/?fromgroups=#!topic/pdxjs/fO-3ApxbgRQ)將有助於 – VDP