0

我不知道为什么这没有给我动画。它像预期的那样进入页面顶部,但没有动画。有人可以帮我找出原因吗?

这里 id javascript 代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript">
$(document).ready(function() {

    $('.scrollup').click(function(){
    $("html, body").animate({ scrollTop: target_top }, 600);
    return false;
    });

});
</script>

</head>

<body id="top">

这是我需要执行滚动的链接。

<td><a href="#top" class="scrollup">Back to Top</a></td>

再次,它转到页面顶部,但没有动画。

编辑这里是整个 html 文件。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700' rel='stylesheet' type='text/css'>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript">
$(document).ready(function() {

    $('.scrollup').click(function(){
    $("html, body").animate({ scrollTop: 0 }, 600);
    return false;
    });

});
</script>

</head>

<body id="top">
<div id="header">
    <div class="container">
      <div id="title">Name</div>
        <div id="tagline">Web Designer + Programmer</div>
      <div id="navbar">
            <table>
                <tbody>
                    <tr>
                        <td><a href="#services">Services</a></td><td><a href="#about">About</a></td><td><a href="#contact">Contact</a></td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

<div id="services">
    <div class="container">
        <div id="servicescontent"></div>
    </div>
</div>

<div id="about">
    <div class="container">
        <div id="aboutcontent"></div>
    </div>
</div>

<div id="services2">
    <div class="container">
        <div id="services2content"></div>
    </div>
</div>

<div id="contact">
    <div class="container">
        <div id="contactinfo"></div>
    </div>
</div>

<div id="footer">
    <div class="container">
        <div id="copyright">Copyright 2013</div>
        <div id="footernavbar">
            <table style="font-size: 16px;">
                <tbody>
                    <tr>
                        <td><a href="#about">About</a></td><td><a href="#services">Services</a></td><td><a href="#top" class="scrollup">Back to Top</a></td>
                    </tr>
                </tbody>
            </table>
        </div></div>
    </div>
</div>

</body>
</html>
4

2 回答 2

3

不是target_top,是0

$("html, body").animate({ scrollTop: 0 }, "slow");

这应该够了吧。

于 2013-03-03T19:08:59.370 回答
2

@skidadon 是正确的,0 可能会解决它。但是您也有一些格式不正确的脚本标签。您需要一个单独的 Jquery 标记和一个单独的用于您正在运行的代码的标记。event.preventDefault()在事件处理程序的顶部使用它也可能会有所帮助。这是您的代码的简单编辑:

<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
                $('.scrollup').click(function(event){
                    event.preventDefault();
                    $("html, body").animate({ scrollTop: 0 }, 600);
                });
        });
    </script>
</head>
<body id="top">

    <div style="height: 900px">
        Some content
    </div>
    <div>
        <a href="#" class="scrollup">go to top</a>
    </div>
</body>
</html>

希望有帮助。

于 2013-03-03T19:24:39.397 回答