2012-09-10 36 views
2

你好的底部我怎麼能在的Javascript(無jQuery的)警報獲得當用戶到了頁面的底部? 我試着基於另一個例子,在這裏,但沒有成功。JavaScript的用戶,如果跨瀏覽scrolld確定頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

</head> 

<body> 

<div id="bla" style="width:145px;"> 

long text here 

</div> 
<script type="text/javascript"> 
var obj = document.getElementById("bla"); 
debugger; 

if(obj.scrollTop == (obj.scrollHeight - obj.offsetHeight)) 
{ 
    alert("down"); 
}; 

</script> 
</body> 
</html> 

回答

3

如果您使用的是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> doctype,那麼它可以工作。

window.onscroll = function() { 
    if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1 || navigator.userAgent.toLowerCase().indexOf("safari") > -1) { 
     if (document.documentElement.scrollHeight == (document.body.scrollTop + document.documentElement.clientHeight)) { 
      alert("ok") 
     } 
    } else { 
     if (document.documentElement.scrollHeight == (document.documentElement.scrollTop + document.documentElement.clientHeight)) { 
      alert("ok"); 
     } 
    } 
} 

如果使用正常<html>標籤在文檔的頂部,那麼它應該工作。

window.onscroll = function() { 
    if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) { 
     if (document.documentElement.scrollHeight == (document.documentElement.scrollTop + document.documentElement.clientHeight)) { 
      alert("ok"); 
     } 
    } else { 
     if (document.body.scrollHeight == (document.body.scrollTop + document.body.clientHeight)) { 
      alert("ok"); 
     } 
    } 
} 
+0

感謝你在IE偉大的工作,但在Firefox彈出大量警報之前,我結束頁面,並在Chrome中只使用window.onscroll =函數(){ 不會觸發任何警報 – Teodor

+0

if(document.documentElement.scrollHeight ==(document.documentElement.scrollTop + document.documentElement.clientHeight)){alert(「ok」); } } 在IE和FF中均正常工作..我仍然遇到Chrome問題..它不會觸發事件。 – Teodor

+0

編輯的答案,如果您使用的只是HTML標記,那麼它的工作... –

2

使用窗口的onscroll事件。

window.onscroll = function() { 
    // check scroll position 
}