Animowany scrolling na stronę w jQuery

Dziś pokażę Wam jak wykonać prosty, animowny scroll w jQuery. Taki scrolling jest przydatny, kiedy zjedziemy na dól strony i chcemy szybko powrócić na górę, to pojawia się nam ikonka scrollowania, klikamy na nią i jak windą jedziemy na samą górę 🙂


Strona składa się z plików:
index.html
style.css

Folderów:
images
script

W <head></head> dodajemy kod jQuery:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="script/scroll.js"></script>

Kod HTML scrolla:

<a href="#" class="scrollup">scroll</a>

Dodajemy na sam dół kodu html, może być przed ostatnim </div>.

Obrazek scrolla w katalogu images:

scrollup

Kod css scrolla:

.scrollup {
width: 64px;
height: 64px;
position: fixed;
bottom: 50px;
right: 50px;
display: none;
opacity: 0.9;
text-indent: -9999px;
background: url(images/scrollup.png);
transition-duration: 0.2s;
transition-timing-function: linear;
}

.scrollup:hover {
opacity: 0.7;
}

W katalogu script znajduje się plik scroll.js z kodem:


$(document).ready(function () {

$(window).scroll(function () {
if ($(this).scrollTop() > 300) {
$('.scrollup').fadeIn();
} else {
$('.scrollup').fadeOut();
}
});

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

});

Całość kodu html wygląda tak:

<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Scrolling</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="robots" content="index, follow" />
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<meta name="author" content="www.tworzenie-stronek.pl" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="script/scroll.js"></script>

</head>

<body>

<div id="wrapper">

<div class="page">

<div id="top">
Witamy na stronie
</div>

</div>

<div id="clear"></div>

<div id="footer">
stopka
</div>
<a href="#" class="scrollup">scroll</a>

</div>

</body>
</html>

Cały kod css w pliku style.css:

* { padding: 0; margin: 0; }

html, body {
 font-family: Tahoma, sans-serif;
 font-weight: 300;
 width: 100%;
 height: 100%;
 font-size: 15px;
 color: #000000;
 margin: 0 auto;
 }
    
a {outline: none; text-decoration: none; color: #000000;}
a:hover {text-decoration: underline; color: #000000;}

#wrapper {
margin: 0 auto -150px;
min-height: 100%;
position: relative;
}

#clear{
clear: both;
height: 150px;
}

.page { 
    margin: 0 auto;
}

#top{
    float: left;
    width: 100%;
    min-height: 1200px;
    padding-top: 5%;
    position: relative;
}

#footer {
    float: left;
    width: 100%;
    height: 130px;
    padding-top: 20px;
    bottom: 0px;
    position: absolute;
    text-align: center;
    font-size: 13px;
    background-color: #fcf7ed;
}

#footer a{
    text-decoration: underline;
}

img
{
border: 0px;
}

.scrollup {
    width: 64px;
    height: 64px;
    position: fixed;
    bottom: 50px;
    right: 50px;
    display: none;
    opacity: 0.9;
    text-indent: -9999px;
    background: url(images/scrollup.png);
    transition-duration: 0.2s;
    transition-timing-function: linear;
}

.scrollup:hover {
    opacity: 0.7;
}

@media (min-width: 1581px) {
#wrapper{width:100%;}
.page{width:1180px;}
}

I mamy gotowy szablon strony ze scrollem.
Jak coś nie będzie jasne, to chętnie wytłumaczę 🙂

Podobne wpisy

Subscribe
Powiadom o
guest

0 komentarzy
Inline Feedbacks
View all comments