1

プロジェクト ボタンをクリックすると、新しいページが読み込まれ、プロジェクトまでスムーズにスクロールできるように、ポートフォリオ サイトにスムーズ スクロールを追加しようとしています - http://www.mattdbryce.co.uk/。このコードを見つけました - http://css-tricks.com/snippets/jquery/smooth-scrolling/ - ただし、同じページのリンクをスムーズにスクロールすることしかできません。このコードを使用すると、ナビゲーションでどのリンクをクリックしても、既存のページがスムーズに下にスクロールされます。

たくさんのアンカー タグを含む 1 つの長いページを作成することを検討しましたが、これを読み込むのに永遠に時間がかかりませんか?

アイデアはありますか?

どうもありがとう、

マット

私のHTML:

<!DOCTYPE HTML>

<head>
    <!--web fonts-->
    <link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono:400italic,700italic' rel='stylesheet' type='text/css'>
    <!--end web fonts-->

    <meta charset="UTF-8">

    <title>Matt Bryce | East London Graphic Design, Web Design, Logo Design and Brand Identity</title>

    <!--css files-->
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/text.css">
    <link rel="stylesheet" href="css/960_24_col.css">
    <link rel="stylesheet" href="css/style.css">
    <link rel="stylesheet" href="css/font-awesome.min.css">
    <!--End css files-->

    <!--JS-->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="js/smooth-scroll.js"></script>
    <!--END JS-->

    <!--favicon-->
    <link rel="shortcut icon" href="favicon.png">
    <!--End favicon-->


</head>

<body>
<div class="shadow">
    <div class="container_24">
        <header>
            <h1 class="clearfix"><a href="index.html">Matt Bryce</a></h1>
            <div id="title"><h2>Matthew Bryce Portfolio</h2></div>
            <nav>
                <ul>

                    <li><a href="mailto:info@mattdbryce.co.uk"><img src="img/contact.png" alt="Contact"/></a></li>


                </ul>
            </nav>

        </header>
        <div class="portfolio-nav">

            <div class="grid_4">
                <h3><a href="good-taste.html#project-top"><img src="img/good-taste-button-1.png" alt="Good Taste Delicatessen - Branding + Website"></a>Good Taste Delicatessen</h1>
                    <p>Branding + Website</p>
            </div>

            <div class="grid_4">
                <h3><a href="jims-cafe.html#project-top"><img src="img/jims-cafe-button-1.png" alt="Jim's Cafe - Logo Design"></a>Jim's Cafe</h1>
                    <p>Logo Design</p>
            </div>

            <div class="grid_4">
                <h3><a href="coffee-revolution.html#project-top"><img src="img/the-coffee-revolution-button-1.png" alt="The Coffee Revolution - Events Poster"></a>The Coffee Revolution</h1>
                    <p>Events Poster</p>
            </div>

            <div class="grid_4">
                <h3><a href="wilton-way.html#project-top"><img src="img/wilton-way-cafe-button-1.png" alt="Wilton Way Cafe - Logo Design"></a>The Wilton Way Cafe</h1>
                    <p>Logo Design</p>
            </div>

            <div class="grid_4">
                <h3><a href="halligan-poster.html#project-top"><img src="img/halligan-poster-button-1.png" alt="Halligan - Gig Poster"></a>Halligan</h1>
                    <p>Gig Poster</p>
            </div>

            <div class="grid_4">
                <h3><a href="mj-wedding.html#project-top"><img src="img/martyn-and-jo-button-1.png" alt="Martyn + Jo - Wedding Invitiations"></a>Martyn + Jo</h1>
                    <p>Wedding Invitation</p>
            </div>

            <div class="grid_4">
                <h3><a href="dog-and-wardrobe.html#project-top"><img src="img/the-dog-and-wardrobe-button-1.png" alt="The Dog + Wardrobe - Campaign Material"></a>The Dog + Wardrobe</h1>
                    <p>Campaign Material</p>
            </div>

            <div class="grid_4">
                <h3><a href="early-years.html#project-top"><img src="img/the-early-years-button-1.png" alt=""></a>The Early Years</h1>
                    <p>Gig Poster</p>
            </div>

            <div class="grid_4">
                <h3><a href="halligan-album.html#project-top"><img src="img/halligan-album-button-1.png" alt="Halligan - Album Artwork"></a>Halligan</h1>
                    <p>Album Artwork</p>
            </div>

            <div class="grid_4">
                <h3><a href="part-chimp.html#project-top"><img src="img/part-chimp-button-1.png" alt="Part Chimp - Gig Poster"></a>Part Chimp</h1>
                    <p>Gig Poster</p>
            </div>

        </div> 
        <footer><p>Copyright Matthew Bryce Design</p></footer>

    </div> <!--end container-->
</div>
    <!--JQuery-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <!--Include plugin-->

    <!--hook it up-->

</body>

4

3 に答える 3

3

わかりました。CSS Tricks Web サイトで提供されているのと同じロジックを使用して、スクロールをスムーズにすることができます。ドキュメントの読み込み中に、ページに が存在するかどうかを確認できます。#存在する場合は、ページを要素の までスムーズにスクロールしますtop

$(window).on("load", function () {
    var urlHash = window.location.href.split("#")[1];
    if (urlHash.length > 0)
        $('html,body').animate({
            scrollTop: $('#' + urlHash).offset().top
        }, 4000);
});

または、

$(document).ready(function(){
    var urlHash = window.location.href.split("#")[1];
    if (urlHash.length > 0)
        $('html,body').animate({
            scrollTop: $('#' + urlHash).offset().top
        }, 4000);
});
于 2013-10-13T14:15:25.973 に答える
0

あなたがする必要があると思うのは、新しいページがロードされたときに、ページの上部からの距離を見つけてから、このjqueryを使用することです:

$('body').animate({
    'scroll-top': distance from top
});
于 2013-10-13T15:02:53.000 に答える