Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当div在页面底部展开时,如何自动滚动?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 当div在页面底部展开时,如何自动滚动?

Javascript 当div在页面底部展开时,如何自动滚动?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,最近我陷入了死胡同。我正在尝试展开页脚(#footenotes),这很有效,它基本上是主体后面的一个div(用z-index完成),当你点击一个按钮时,它会向下移动。滚动条也随之出现,这意味着页面现在变长了 但我要做的是使视口随扩展的div一起移动。现在发生的是,当我按下按钮(.secret)时,div(#footernotes)进入,但它仍在视口外,除非您手动滚动以查看较长的页面 因此,对于某些人来说,如何在展开页面后使视口自动向下滚动?换句话说,如何使视口保持在页面底部 这是我的密码: &l

最近我陷入了死胡同。我正在尝试展开页脚(#footenotes),这很有效,它基本上是主体后面的一个div(用z-index完成),当你点击一个按钮时,它会向下移动。滚动条也随之出现,这意味着页面现在变长了

但我要做的是使视口随扩展的div一起移动。现在发生的是,当我按下按钮(.secret)时,div(#footernotes)进入,但它仍在视口外,除非您手动滚动以查看较长的页面

因此,对于某些人来说,如何在展开页面后使视口自动向下滚动?换句话说,如何使视口保持在页面底部

这是我的密码:

<script>
$(document).ready(function(){
    $('.secret').click(function(){
            $("#footernotes").animate({top: "100px"}, 1000);
        return false;
    });
});
</script>

<div id="footer">
    <a href="" class="secret" ><div id="buttontest" style="width:50px; height:50px; background-color:green;"></div></a>
    <div id="footernotes">
    </div>
</div> <!-- end #footer -->
编辑:在键入问题的同时,我要找出答案,您必须使用滚动条。我在下面的示例中添加了行代码:

<script>
    $(document).ready(function(){
        $('.secret').click(function(){
                $("#footernotes").animate({top: "100px"}, 1000);
                $('body,html').animate({scrollTop: "210px"},1000);
            return false;
        });
    });
    </script>

$(文档).ready(函数(){
$('.secret')。单击(函数(){
$(“#脚注”).animate({top:“100px”},1000);
$('body,html').animate({scrollTop:210px},1000);
返回false;
});
});
如果你认为有更好的方法,你仍然可以回答这个问题,我只是想我会把这个问题贴出来,以防其他人有同样的问题

document.getElementById('divID').scrollIntoView();

试试看这是否可以完成任务。

可以使用Jquery方法.focus()完成。只需要添加

$(divname/.class/#id).focus()


我不确定@AaronBlenkush(?)是什么意思。而且,如果在滚动到的
div
之后有更多内容,您可能希望给该方法一个
false
参数,使其与视图的底部对齐,而不是与顶部对齐。看看这个:@mavili我试过使用那行代码,它似乎破坏了动画。它刚刚刷新了当前页面。我可能实施错了吗?我在html文件的第四行下添加了它。@mavili:也就是说,对于一个本机函数,没有使用jQuery(有一个)。它不应该刷新页面(如果它刷新了,我会非常惊讶!)。不过,我会尝试一下您的代码,看看会发生什么。
document.getElementById('divID').scrollIntoView();