Javascript 使当前div在视口中可见

Javascript 使当前div在视口中可见,javascript,jquery,html,ajax,infinite-scroll,Javascript,Jquery,Html,Ajax,Infinite Scroll,我是jQuery的新手,我正在尝试实现infinte scroll,以便在到达页面末尾时能够触发对后端的ajax调用。我还想知道视口中当前可见的div,以便我也可以发出ajax调用。假设我有6个div <div id="test"> Some content here <div> <div id="test1"> more content here </div> <div id=

我是jQuery的新手,我正在尝试实现infinte scroll,以便在到达页面末尾时能够触发对后端的ajax调用。我还想知道视口中当前可见的div,以便我也可以发出ajax调用。假设我有6个div

<div id="test">
            Some content here
<div>
    <div id="test1">
        more content here
    </div>
    <div id="test2">
        more content here again
    </div>

这里有一些内容
这里有更多内容
这里再次提供更多内容
如果我的光标在向上滚动时到达第二个div,我想发出ajax调用,第三个div和第一个div也是如此。我太天真了,所以我可能会问一个愚蠢的问题,但请原谅。

试试这个

$("div").mouseover(function(){
    $id = $(this).attr("id"); //retrieve id, e.g. test, test1, test2, etc
    //if ajax call by switch case
    switch($id){
        case "test":
            //ajax code
            break;

        case "test1":
            //ajax code
            break;
    }
    //or directly ajax
    $.ajax({...});
    //or so on
});

希望这对您有所帮助

您不能为多个div提供相同的id。请编辑iTunes
class
重复标识符,
id
是一个唯一的标识符。您可能希望查看预先存在的JQuery插件来完成这类工作。在我看来,简单地使用“x”静态div并不是实现无限滚动的明智方式;您可能希望在向下滚动时自动实例化包含内容的新div。也许这类JQuery插件的功能与您想要的类似:但是如果我的鼠标不在div上怎么办?如果不在mouseover上,那么可以尝试此插件并使用下面的代码:plugin:code:if($('#element').visible(true)){//元素可见,做某事}其他{//元素不可见,做其他事情}