在页面加载时滚动到div

时间:2014-03-17 11:39:11

标签: javascript jquery html

                 <!DOCTYPE html>
                    <html class="no-js" lang="en">
                    <head>
        <meta charset="utf-8">
        <title>Woodry</title>
        <link rel="stylesheet" href="css/normalize.css">
        <link href='http://fonts.googleapis.com/css?                    
        <link rel="stylesheet" href="css/main.css">
        <link rel="stylesheet" href="css/responsive.css">
        <script   src="//ajax.googleapis.com/ajax/libs/jquery
                    /1.11.0/jquery.min.js" ></script>

    <script type="text/javascript">
            $(function() {
            $(document).scrollTop( $("#video").offset().top );  
             });
            </script>
            </head>
            <body class="wrapper">
        <div id="top">
            <img src="img/top.png">
     </div>
        <div id="video" class="video">
        <div id="deer"><img class="deer" src="img/deerb.png"></div>
        <video autoplay loop class="fillWidth">
        <source src="video/dust.mp4" type="video/mp4"/>
            </video>
    </div>
    <div id="main" class="main">
        <img src="img/bottom.png">

        <div id="home"></div>
        <div id="shop"></div>
        <div id="contact"></div>
        </div>
             </body>
        </html>

尝试滚动到页面加载。我有的js功能似乎不起作用。我已经运行了js测试,看看我是否正确调用了js库,我就是这样。我做错了什么。任何帮助将不胜感激。
更新:我通过W3c验证器运行我的HTML并通过了。

7 个答案:

答案 0 :(得分:6)

您正在尝试滚动到div,但您的js代码正在寻找ID ..所以它应该是

id="video"

这应该适用。

编辑:刚查过代码,我用过:

$(function() { 
 $('html, body').animate({
    scrollTop: $('#video').offset().top}, 1000);
}); 

这对我有用。你的底部图像是18MB(很大),所以你可能想要等到页面(而不是 DOM )加载了:

$(window).load(function() {
// code here
});

示例http://codepen.io/pirrera/pen/ABjGp/

答案 1 :(得分:1)

试试这个:

<script type="text/javascript">
    $(document).ready(function() {
        $(document).scrollTop( $("#video").offset().top );  
    });
</script>

如果您还没有将属性id="video"添加到您的html标记中。

答案 2 :(得分:1)

听起来你的代码中有其他问题。

这是一个小提琴,有你目前的工作http://jsfiddle.net/A5uyX/

$(function() { 
    $(document).scrollTop( $("#video").offset().top );
}); 

我会查看任何其他scrollTop函数,或者如果您的网址中有一个哈希值指向页面上的其他位置,则可能。

你加载了jquery吗?尝试在脚本块之前将其添加到head部分

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

修改

通过查看刚刚弹出的代码我唯一可以看到的是你没有完全关闭的css链接。尝试关闭它,看看是否有帮助。不是100%确定链接应该是什么,但这是这一行

<link href='http://fonts.googleapis.com/css?   

答案 3 :(得分:0)

插件:平滑滚动,你可以在这里找到它:

http://plugins.jquery.com/project/ScrollTo

来自文档:

$。scrollTo(...); //插件将处理此

答案 4 :(得分:0)

尝试使用jQuery animate():

$("html, body").animate({ scrollTop: $("#video").offset().top }, 800);

答案 5 :(得分:0)

为什么不使用简单的锚?

<div id="foo">
</div>

yourlink.html#foo

我认为这很有效。

答案 6 :(得分:-1)

应该是:

$( document ).ready(function() {
  $(document).scrollTop( $("#video").offset().top );
});