我打算在 div 中滚动到底部时加载额外的内容,但到目前为止无法使 jquery 检测到滚动到底部。我知道这里有很多问题都在问同样的问题..但没有一个解决方案对我有用。我显然做错了什么,但对于这方面的新手无法弄清楚是什么。这是代码:
<html>
<head>
<script src="jquery-1.10.1.min.js">
</script>
<script>
$(document).ready(function(){
var n1=0;
var n2=5;
var $win = $(window);
$("#page").change(function(){
var str=$(this).val()
console.log(str);
if(str.length===0){$("#rssoutput").html("");}
else
{$("#rssOutput").load("http://dodomain.uni.me/getrss.php?q="+str+"&n1="+n1+"&n2="+n2);}
});
$(window).scroll(function() {
if (document.documentElement.clientHeight + $(document).scrollTop() >= document.body.offsetHeight )
{
alert("bottom of the page.");
}
});
});
</script>
</head>
<body>
<form>
<select id="page">
<option value="">Select an RSS-feed:</option>
<option value="Google">Google News</option>
<option value="cyanide">cyanide and happiness</option>
<option value="oglaf">Oglaf</option>
<option value="xkcd">xkcd</option>
<option value="wired">wired.com</option>
</select>
</form>
<br>
<div id="rssOutput" >RSS-feed will be listed here...</div>
</body>
</html>
我可能提供了比需要的更多的代码..但我不确定问题是否出在其他地方。 php 只是发送 rss feeds 生成一些 html 。在线 http://dodomain.uni.me/rss.html
编辑:当 div 的内容是静态的(即不通过 ajax 加载)时,代码可以工作,如此处所示 http://jsfiddle.net/jkh5P/
最佳答案
这段代码对我来说确实有用 - 我刚刚拉出了 $(window).scroll(~~~~),并将其插入 Chrome 控制台,一切都对我有用。我还获取了您发布的所有内容,并将其作为 HTML 文件打开。似乎按预期工作,但有一个警告:
如果文档不可滚动(适合窗口内),则永远不会调用滚动为此,我想说将 $(window).scroll(THIS STUFF) 剥离到一个新函数中,并调用它在您的 $(document).ready 事件期间。
关于javascript - 检测动态页面滚动到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196378/