0

なぜアニメーションが表示されないのかわかりません。想定どおりページの上部に移動しますが、アニメーションはありません。誰かが理由を見つけるのを手伝ってくれますか?

ここに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>

繰り返しますが、ページの上部に移動しますが、アニメーションはありません。

edit here は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 に答える