Membuat Smooth Scrolling dalam 1 halaman dengan JQuery

dokumen-dokumen yang mirip
an exhibition a movement cushcush gallery Jl. Teuku Umar Gg. Rajawali no. 1A Denpasar - Bali

Tutorial Layouting : Membuat Grid Sama Tinggi

Responsive Sidebar dengan Bootstrap

LOGO FULL COLOR BEBERAPA CONTOH LOGO DPD-PDJI DEWAN PENGURUS DAERAH PROVINSI JAWA BARAT DEWAN PENGURUS DAERAH PROVINSI BALI

HenHash. Fungsi Hash berdasarkan Henon Map

Algoritma Cipher Blok Mats

Responsive Layout dengan Bootstrap [Part 2]

Cara membuat elemen agar bisa didrag

Membuat Responsive dan Fleksibel Image Gallery dengan JQuery Fleximage

Membuat Layout Footer Menempel ke Bawah

Membuat Scrollspy Dengan Bootstrap

Membuat Layout Header Diam di Tempat (Fix Header)

Tutorial Dasar CSS Preprocessor LESS

Membuat Animasi Loading Bubble dengan Full CSS

Membuat Tabel Responsive dengan CSS

MEMBUAT LAYOUT DENGAN CONTAINER BOOTSTRAP

Publish: 7 Juni 2012 Author & Copyright: Johan Status: FREE tutorial

Plugin Javascript Bootstrap 2

Tutorial CSS Desain Layout 1 Dengan HTML5 dan CSS

Tutorial Lengkap Memahami CSS Display

SImple Pop-Up Modal dengan CSS3 dan Jquery

Membuat Responsive Layout dengan CSS Media Query

membuat website dengan bootstrap v3.0.0

Cara Memasukan Font Baru Ke Dalam Web Menggunakan CSS

Masih tentang bagaimana membuat layout dengan CSS, kita lanjutkan untuk membuat layout yang lain. Berikut ini adalah desain layout yang akan kita buat

KAJIAN 3 Web Responsive

Daftar Isi Elemen Estetis Tumpal Formulasi Tumpal Sebagai Elemen Estetis

Membuat Display Produk dalam Layout Box 4 Kolom

Warta Jemaat, 24 Mei 2015

Membuat Desain Custom Input (Checkbox + Radio Button) pada Form

Tutorial Lengkap Memahami CSS Position

VOLUME I No 2 Juli 2013 Halaman

CSS Eksternal. Instruktur: Arif Nurwidyantoro

Memanfaatkan CSS Animasi [Part 2]

Tutorial Layouting CSS Part 1

CSS (Cascading Style Sheets)

XHTML Part 1. Wahyu Catur Wibowo Amalia Zahra

Daftar Isi. Kata Pengantar Pendahuluan. i ii. iii. Daftar Isi

BAB V DESAIN WEB CSS

Membuat Top Fixed Responsive Navbar Twitter Bootstrap

Pedoman Penulisan Laporan PKL Dosen Pembimbing : Ratri Enggar Pawening

Membuat Themes Wordpress sendiri - Part 1

BAB I DASAR-DASAR HTML

WEB STATIS MEMBUAT TUTORIAL PENGGUNAAN FRAMEWORK CSS

Menampilkan user online seperti di obrolan step by step

Membuat Tooltip Sendiri dengan CSS

Membuat Login Pop Up Dengan JqueryUI

Membuat Simpel Site HTML Layout Menggunakan Tag div

buat Lightbox mu sendiri dengan jquery

PEDOMAN KERJA PRAKTEK DAN MAGANG. Teknik Informatika FTI UAJY

Memanfaatkan CSS Animasi dan Transisi [Part 1]

Membuat dan Menampilkan QR Code secara Dinamis dengan PHP

Image Slider 3D. Oleh: Anthonius

Listing Program. Halaman Home(index.php) <?php require_once'config.php';?>

Membuat Custom Button Captcha dengan Font Awesome

[SANGAT MUDAH] Cara Membuat Tab dengan Bootstrap

Mendesain Custom Tabel dengan Pseudo Element CSS

Membuat Web Chatting dengan Ajax Jquery, PHP, dan Bootstrap [Part 2]

Tutorial Membuat Layout Website Sederhana dengan HTML dan CSS

Membuat Duplikasi Form dengan Jquery (Dynamic Form)

Pemrograman Web Week 2. Team Teaching

BAB II KOMPONEN HTML LANJUT

HTML (HyperText Markup Language)

MODUL PRATIKUM 04B PEMROGRAMAN BERBASIS WEB (CCP119)

Tutorial Penggunaan Twitter Bootstrap

Membuat Layout Desain Awal dengan Photoshop

THE MOST FUNDAMENTAL OF OUR CONDUCT INTEGRITY. ACCOUNTABILITY. TRANSPARENCY LAPORAN TAHUNAN 2008 ANNUAL REPORT

2. CARA MENGGUNAKAN FRAMEWORK CSS GETBOOTSTRAP.COM/232/ Bagaimana Cara Menggunakan Bootstrap?

Yayan Mulyana

Perkenalan Glyphicon Bootstrap dan Cara Mudah Menggunakannya

How to Create Simple Web (2) - Slice

RWD (Responsive Web Design) dengan Grid System Bootsrtap

6. HTML & CSS. PTI15010 Pemrograman Web. Agi Putra Kharisma, S.T., M.T. Genap 2014/2015. Desain slide ini dadaptasi dari University of San Fransisco

IKG3A3 / Software Project II

TUTORIAL JQUERY Langkah Tepat menjadi Web Designer Handal, menguasai JQuery JavaScript Library, jalan membuat halaman website lebih atraktif

KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Membuat Tempelate Menggunkanan Boostrap

MODUL III CASCADING STYLE SHEET

Page 1 of 8 Tutorial Font Awesome UTS Stmik El Rahma

MEMBUAT WEBSITE SEDERHANA DENGAN HTML 5

[SANGAT MUDAH] Cara Membuat Slide Show dengan Bootstrap 3

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

CSS. inheritance (pewarisan)

Pemrograman Web PRAKTIKUM 3 CSS. TUJUAN BELAJAR Mahasiswa dapat menggunakan css untuk mengatur gaya tampilan elemenhtml

TUTORIAL APLIKASI WEB Dengan PHP dan MySQL

Dasar-dasar HTML 1. Oleh: Cecep Yusuf

Materi 9 Komputer Aplikasi IT (KAIT) 2 SKS Semester 1 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya

Cara Upload File Ke Website Menggunakan FTP

MODUL 1 PENGENALAN HTML

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

Desain Grafis. RAHMADY LIYANTANTO liyantanto.wordpress.com

JUDUL TUGAS AKHIR/SKRIPSI

DAFTAR PUSTAKA. Fathansyah. (2007). Basis Data. Informatika : Bandung.

CSS Cascading Style Sheet

BAB VI DESAIN WEB RESPONSIF

CARA MEMBUAT WEBSITE SEDERHANA

Transkripsi:

Membuat Smooth Scrolling dalam 1 halaman dengan JQuery Oleh: Christian Rosandhy Segala sesuatu yang smooth itu tentunya asik dong ya? Begitu juga dengan website kita.. Kita bisa bikin animasi scroll dalam 1 halaman yang sama dengan smooth pakai bantuan JQuery.. Silakan disimak~ Salam jagocoding,, seperti biasa kali ini saya ingin berbagi tutorial lagi.. Kali ini kita akan membahas salah satu teknik JQuery yaitu animasi smooth scrolling. JQuery sudah menyediakan banyak fungsi yang sangat menarik, dan salah satunya adalah animasi scrolling.. Langsung aja ya~ Karena kita akan bekerja dengan JQuery, jangan lupa download file JQuerynya dulu ya (bisa didownload di https://jquery.com/download/, atau dipanggil di HTML pake CDN),, Ah, sama di project saya kali ini juga saya pakai bootstrap,, sekedar buat layouting gridnya aja kok.. Sekalian diinclude juga di project kita ya.. Dengan asumsi file JS JQuery dan CSS Bootstrap sudah didownload, file project awal kita mulai seperti ini : <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>soft Scroll dengan JQuery</title> <link rel="stylesheet" href="bootstrap.min.css"> <style> /*CSS For This Project*/ *{margin:0px auto;} html,body{height:100%; min-height:100%;} header{background:#282828; color:#e9e9e9; position:fixed; width:100%; margin-bottom:50px; z-index:2;} header h1{line-height:45px; margin:auto; padding:0px; font-size:30px;} header nav ul{display:block; list-style:none; text-align:right;} header nav ul li{display:inline-block;} header nav ul li a{display:block; line-height:45px; color:#5ea5e9; line-height:45px; padding:0px 10px; font-size:18px;} header nav ul li a:hover{color:#fff; text-decoration:none;} main{position:relative; height:100%; top:45px; /*spy tidak ketutupan header*/} section{min-height:100%; position:relative;} </head> </style>

<body> <header> <div class="row"> <div class="col-sm-6"> <h1>soft Scrolling dengan JQuery</h1> <div class="col-sm-6"> <nav> <ul> href="#home">home</a></li> href="#about">about</a></li> href="#project">project</a></li> href="#contact">contact Us</a></li> </ul> </nav> </header> <main> <section id="home"> <h2>home</h2> adipisicing elit. Fugiat, delectus, similique, officia, nisi nam hic repudiandae repellendus a laudantium culpa adipisci accusamus aperiam ipsam qui tempore ab facere excepturi neque! <div>quidem, molestias, quibusdam, expedita animi accusantium fugiat laboriosam placeat rerum maxime soluta officiis dolor repudiandae eligendi quia in necessitatibus aut debitis asperiores ratione numquam nulla minus sit impedit eaque magnam! <section id="about"> <h2>about</h2> adipisicing elit. Dolores, impedit, unde, ducimus ab ipsam ipsa dignissimos amet culpa tempora reprehenderit tempore odit consequuntur totam accusantium quis. Amet, nulla repellendus voluptate. <div>nesciunt, neque, eveniet odio corrupti aliquam inventore earum officiis laboriosam veritatis omnis quaerat fuga optio asperiores unde non odit corporis! Dolorem, temporibus deleniti consectetur dolor aperiam a officia consequatur ducimus! <div>perferendis, velit, soluta, asperiores,

ratione harum tempore inventore quis aliquam enim optio nihil repudiandae dolorum dignissimos dolor hic culpa laboriosam. Ad, nostrum, ab sapiente veritatis soluta inventore quam accusamus sed! <section id="project"> <h2>project</h2> adipisicing elit. Similique, earum architecto cupiditate vitae expedita voluptate asperiores quasi numquam eos! Voluptate eveniet quibusdam excepturi saepe obcaecati et aliquam nesciunt facilis suscipit! <div>eum, aspernatur officia eius labore nisi vel placeat dolores porro veritatis nihil eos dicta non autem laborum itaque ipsum accusantium nostrum harum est cupiditate sit suscipit pariatur quos temporibus debitis! <div>iusto, minus voluptate veniam atque error! Ex, unde, excepturi, magni quasi facere officia illum quia consequatur quidem cupiditate mollitia corporis voluptatem quisquam repudiandae quae voluptate possimus ducimus fuga amet eius? <div>perferendis, eum eius odit ullam explicabo facilis reiciendis! Consectetur, quia, eveniet laudantium repudiandae veniam accusamus asperiores expedita odio necessitatibus non iusto doloremque incidunt aperiam. Sit, consequuntur delectus itaque esse nesciunt. <section id="contact"> <h2>contact Us</h2> adipisicing elit. Sint, beatae sunt distinctio deleniti laborum odio! Tenetur quo magnam quae ad? Facere autem dignissimos nulla veritatis in doloribus voluptate eos temporibus. <div>ex, quam, nemo, assumenda quo dolorem soluta atque iusto doloremque nesciunt et consequatur laudantium beatae suscipit accusamus quod ipsam officia eligendi laboriosam! Nulla, quos reiciendis quis consequatur similique architecto recusandae. <div>officia, unde, consequatur, animi ad voluptate non quasi voluptatum distinctio aliquid soluta veritatis eum reiciendis nihil nobis natus ipsum adipisci minus numquam hic impedit. Aliquam, voluptatem doloribus similique repudiandae ipsa. </main> <script type="text/javascript" src="jquery-1.10.2.min.js"></script> <script type="text/javascript"> $(function(){ });

</script> </body> </html> Dengan mengikuti script diatas, hasilnya sekarang jadi seperti ini : Yak, layout yang saya pakai kali ini adalah Layout Fix Header.. Sempat juga saya bikin tutornya dulu di http://jagocoding.com/tutorial/499/membuat_layout_header_diam_di_tempat_fix_header. Kalau kita klik menu-menunya, sudah mau pindah sesuai tempat yang diinginkan sih, cuma gerakannya terlalu kasar.. Nah, disinilai teknik smooth scrolling akan kita gunakan.. Objek pemicu yang akan kita pakai dalam hal ini adalah tag <a>. Tapi nggak semua tag <a> yang akan dijadikan pemicu,, hanya tag <a> yang mempunyai atribut href bernilai hash (hash itu yang ada simbol #nya itu lho~). Jadi kita di bagian $(function) kita isi seperti ini : $(function(){ //fungsi dibawah hanya berjalan untuk semua tag <a> yang diawali (^) dengan hash (#) $('a[href^="#"]').on('click', function(e){ });

}); Selanjutnya kita buat variabel target untuk menampung nama hash target animasi scroll kita. //masukkan ke dalam kurung kurawalnya $(a[href^])... $target = $(this.hash); Nah, yang terakhir, kita akan menggunakan fungsi animate(). Parameternya adalah posisi akhir animasinya dimana, durasinya berapa, efek animasinya (easing)nya apa, dan terakhir fungsi yang akan dipanggil setelah animasi dijalankan. Fungsi animate() ini akan kita terapkan ke html dan body. //masukkan baris coding ini dibawahnya $target... $jarak = 0; $('html, body').stop().animate( { 'scrolltop' : $target.offset().top - $jarak }, 500, //durasi dalam milisekon 'swing', //efek transisi (opsi : swing / linear) function(){ window.location.hash = target; } ); Yak,, sampai disini sudah bisa dijalankan lho.. Coba deh.. Sayangnya, tinggal ada sedikit masalah aja sih.. Scrollnya udah mau smooth, lokasinya juga tepat, tapi karena header kita posisinya fixed, ada jarak bagian konten yang ketutupan header..

Untuk mengatasi itu,, di coding jquery diatas sudah saya sediakan variabel $jarak. variabel $jarak itu bisa kita isi sesuka hati kita, disesuaikan dengan seberapa besar selisih jarak yang seharusnya. Karena layer <header> tersebut saya beri tinggi 45px, maka kita bisa isikan nilai di variabel $jarak sebesar 45 juga. Kalau sampai disini bisa diikuti dengan lancar, seharusnya project ini sudah selesai persis seperti di halaman demo ini ( http://tianrosandhy.com/demo/soft_scroll ). Sekian saja tutorial saya kali ini~ terima kasih~ CMIIW :3 Tentang Penulis Christian Rosandhy