3

我打算在 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 提要中生成一些 html。它在这里在线http://dodomain.uni.me/rss.html

编辑:当 div 的内容是静态的(即不通过 ajax 加载)时,代码可以工作,如此处所示http://jsfiddle.net/jkh5P/

4

2 回答 2

0

问题是浏览器返回相同的窗口高度和文档高度值,除非在 html 中提到了文档类型。添加<!DOCTYPE html>到html解决了这个问题。这就是为什么它在 jsfiddle 等而不是在我的网站上工作的原因。

于 2013-06-21T15:44:51.613 回答
0

这段代码对我有用 - 我刚刚取出 $(window).scroll(~~~~),并将其插入 Chrome 控制台,这对我来说一切正常。我还拿走了你发布的所有内容,并将其作为 HTML 文件打开。似乎按预期工作,但有一个警告:

如果文档不可滚动(适合窗口),滚动是/永远不会被调用为此,我会说将你的 $(window).scroll(THIS STUFF) 剥离到一个新函数中,并在你的 $ (文档).ready 事件。

于 2013-06-19T16:29:41.253 回答