【问题标题】:Autoscroll to div in jquery .load site在 jquery .load 站点中自动滚动到 div
【发布时间】:2017-04-13 20:31:10
【问题描述】:

我正在这样的 div 中加载网站:

<script type="text/javascript">
    $(document).ready(function(){
            jQuery('#pagecontainer').load('http://www.example.com' );
    })
</script>       

<div id="pagecontainer" /></div>

加载的站点包含一个 id="test" 的 DIV。 到目前为止一切顺利。

但是是否可以将页面自动滚动到该 DIV?

下面的代码不起作用,我认为是因为它无法在加载的站点中找到 DIV。

$(function(){
    $('html, body').animate({
        scrollTop: $('#test').offset().top
    }, 2000);
    return false;
});

谢谢!

【问题讨论】:

    标签: jquery autoscroll


    【解决方案1】:

    来自 jQuery 文档:

    .load( url [, data ] [, complete ] ):

    在哪里:完成

    类型:函数(String responseText, String textStatus, jqXHR jqXHR)

    请求完成时执行的回调函数。

    也就是说你可以把代码改成:

    $(document).ready(function(){
        jQuery('#pagecontainer').load('http://www.example.com', function() {
            $('html, body').animate({
                scrollTop: $('#test').offset().top
            }, 2000);
        });
    })
    

    【讨论】:

    • 完美运行!感谢您的快速响应!
    • 由于某种原因,在 div 中加载网站在 jsfiddle 中不起作用。但我想你明白我在尝试什么。在加载的站点中,我尝试隐藏#home(左上角的徽标)jsfiddle.net/kzsww5no
    • @Maxcim First:请删除您之前的评论。禁止有这么多的cmets……第二。我更新了你的fiddle。我使用 append() 而不是 load 来模拟您的问题。如果我更改小提琴中的媒体查询,#home 的样式将根据 max-width 指令应用。你可以自己测试并告诉我。对我来说已经晚了。明天见。让我知道。谢谢
    • 非常抱歉,我发现了问题!我的样式如下所示:#wrapper .container。 {} body 标签有 id 包装器。但是当我在 div 中加载网站时,由于某种原因没有加载 body 标签。您的回答帮助我找到了它,所以谢谢!晚安!
    • 返回滚动 :) 您的解决方案有效,但是:
    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多