javascript跨浏览器确定用户是否滚动到页面底部

时间:2012-09-10 18:52:18

标签: javascript

当用户到达页面底部时,您怎么能进入 Javascript (没有Jquery)警报? 我尝试基于另一个例子,这样的事情但没有成功。

<!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>

2 个答案:

答案 0 :(得分: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");
        }
    }
}

答案 1 :(得分:2)

使用窗口的onscroll事件。

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