Advertisement
  1. Code
  2. Web Development

Cara membuat 'Mootools Homepage' terinspirasi navigasi efek menggunakan jQuery

Scroll to top
Read Time: 7 min

Indonesian (Bahasa Indonesia) translation by indri suadha (you can also view the original English article)

Seperti yang Anda tahu ada sejumlah Perpustakaan javascript yang bersaing di sekitar hari ini. Meskipun saya lebih suka jQuery, aku selalu menyukai cara menu di MooTools bekerja. Jadi dalam tutorial ini kita akan menciptakan efek yang sama... tapi kita akan melakukannya dalam jQuery!


Demo dan kode sumber



Langkah 1

Mari kita mulai dengan menulis HTML yang diperlukan untuk membuat navigasi vertikal yang sederhana. Untuk struktur, seperti bisa Anda tebak, kita akan menggunakan daftar unordered <ul>dengan ID nama "geser-navigasi". Juga, kita akan menambahkan beberapa link dan memberi setiap item daftar<li>kelas nama "geser-elemen".</li></ul>

Saya juga akan menambahkan sebuah elemen judul. Ini adalah hal yang berguna untuk melakukan seperti banyak blog WordPress misalnya memiliki unsur-unsur judul mereka sidebar navigasi (misalnya "Arsip"). Jadi itu akan terlihat seperti ini:

1
2
<ul id="sliding-navigation">
3
  <li class="sliding-element"><h3>Navigation Title</h3></li>
4
	<li class="sliding-element"><a href="#">Link 1</a></li>
5
	<li class="sliding-element"><a href="#">Link 2</a></li>
6
	<li class="sliding-element"><a href="#">Link 3</a></li>
7
	<li class="sliding-element"><a href="#">Link 4</a></li>
8
	<li class="sliding-element"><a href="#">Link 5</a></li>
9
</ul>

Langkah 2

Sekarang, mari kita membuat sebuah dokumen HTML yang mana kita dapat menempatkan karya kami hanya melakukan. Buat sebuah file HTML yang baru dan menyebutnya demo.html. Kemudian membuka file ini dengan editor teks favorit Anda dan masukkan kode berikut:

1
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

3
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
<html>
5
	<head>
6
		<title>Navigation Effect Using jQuery</title>
7
		<link rel="stylesheet" type="text/css" href="styles.css" />
8
		<script type="text/javascript" src="jquery.js"></script>
9
		<script type="text/javascript" src="sliding_effect.js"></script>
10
	</head>
11
	<body>
12
		<div id="navigation-block">
13
            <ul id="sliding-navigation">
14
                <li class="sliding-element"><h3>Navigation Title</h3></li>
15
                <li class="sliding-element"><a href="#">Link 1</a></li>
16
                <li class="sliding-element"><a href="#">Link 2</a></li>
17
                <li class="sliding-element"><a href="#">Link 3</a></li>
18
                <li class="sliding-element"><a href="#">Link 4</a></li>
19
                <li class="sliding-element"><a href="#">Link 5</a></li>
20
            </ul>
21
        </div>
22
	</body>
23
</html>

Ada beberapa hal yang perlu diperhatikan di sini:

  1. The! DOCTYPE untuk file demo.html kami diatur ke XHTML 1.0 Strict. Hal ini tidak diperlukan untuk efek untuk bekerja tetapi saya mencoba untuk mendapatkan dalam kebiasaan menggunakannya sebanyak yang saya bisa.
  2. Anda mungkin telah memperhatikan bahwa <link> tag adalah mengacu pada file bernama style.css. Namun, file tersebut tidak ada. Tidak khawatir walaupun, itu adalah langkah berikutnya.
  3. Akhirnya saya telah dibungkus blok navigasi saya ke<div>. Kami akan membuat menggunakan ini kemudian posisi blok pada halaman.</div>

Langkah 3

Sekarang bahwa kita memiliki file HTML kami dicap dan bekerja, mari kita tambahkan beberapa gaya. Ingat bahwa dokumen HTML kami menunjuk ke sebuah file CSS yang bernama styles.css. Jadi, mari kita mulai dengan menciptakan sebuah file bernama styles.css dan menyimpannya dalam direktori yang sama tempat tinggal kami dokumen HTML. Seperti yang kita lakukan pada langkah sebelumnya, buka file ini dengan editor teks favorit Anda dan masukkan kode berikut:

1
2
body 
3
{
4
	margin: 0;
5
	padding: 0;
6
	background: #1d1d1d;
7
	font-family: "Lucida Grande", Verdana, sans-serif;
8
	font-size: 100%;
9
}
10
11
ul#sliding-navigation
12
{
13
	list-style: none;
14
	font-size: .75em;
15
	margin: 30px 0;
16
}
17
18
ul#sliding-navigation li.sliding-element h3,
19
ul#sliding-navigation li.sliding-element a
20
{
21
	display: block;
22
	width: 150px;
23
	padding: 5px 15px;
24
	margin: 0;
25
	margin-bottom: 5px;
26
}
27
28
ul#sliding-navigation li.sliding-element h3
29
{
30
	color: #fff;
31
	background: #333;
32
	border: 1px solid #1a1a1a;
33
	font-weight: normal;
34
}
35
36
ul#sliding-navigation li.sliding-element a
37
{
38
	color: #999;
39
	background: #222;
40
	border: 1px solid #1a1a1a;
41
	text-decoration: none;
42
}
43
44
ul#sliding-navigation li.sliding-element a:hover { color: #ffff66; }

Langkah 4

Saat ini Halaman demo.html Anda harus melihat sesuatu seperti ini:

Demo PreviewDemo PreviewDemo Preview

Jadi, akhirnya saatnya untuk memulai menggunakan jQuery. Tapi sebelum kita dapat memulai kita perlu melakukan beberapa hal:

  1. Download versi terbaru dari jQuery.
  2. Buat sebuah file baru yang disebut sliding_effect.js dan menyimpannya dalam direktori yang sama seperti yang file HTML dan CSS.
  3. Terakhir, masukkan file sebelumnya dua untuk dokumen HTML Anda<head>.</head>

Ini adalah apa Anda HTML file<head>akan terlihat seperti sekarang:</head>

1
2
	<head>
3
		<title>Navigation Effect Using jQuery</title>
4
		<link rel="stylesheet" type="text/css" href="styles.css" />
5
		<script type="text/javascript" src="jquery.js"></script>
6
		<script type="text/javascript" src="sliding_effect.js"></script>
7
	</head>

Langkah 5

Sekarang, kita akan menciptakan fungsi yang akan melakukan semua "berat" mengangkat untuk efek geser untuk bekerja. Fungsi ini akan mengambil lima parameter (navigation_id, pad_out, pad_in, waktu, dan pengganda) dan menggunakannya sebagai berikut:

  1. navigation_id: ini adalah nama ID navigasi, yang berisi unsur-unsur efek yang akan diterapkan pada.
  2. pad_out: ini adalah jumlah piksel untuk melangkah meninggalkan ketika salah satu link di dalam navigasi adalah melayang.
  3. pad_in: ini adalah jumlah piksel untuk melangkah meninggalkan ketika salah satu link di dalam navigasi tidak lagi menjadi melayang.
  4. waktu: ini mewakili jumlah waktu (dalam milidetik) yang diperlukan untuk salah satu elemen link untuk slide dalam dan kembali di tempat saat halaman dibuka.
  5. Multiplier: pekerjaan kelipatan adalah untuk menambah atau mengurangi jumlah yang diperlukan sebuah elemen link berikut untuk slide dalam ke layar. Dengan kata lain, jika kelipatan 1, Semua elemen link akan slide dalam ke layar dalam interval waktu yang sama. Namun, jika itu adalah kurang dari 0, elemen link berikutnya akan slide dalam lebih cepat, dan jika itu lebih dari 1 sebaliknya akan terjadi.

Jadi, buka sliding_effect.js file dan masukkan kode berikut:

1
2
function slide(navigation_id, pad_out, pad_in, time, multiplier)
3
{
4
	// creates the target paths

5
	var list_elements = navigation_id + " li.sliding-element";
6
	var link_elements = list_elements + " a";
7
	
8
	// initiates the timer used for the sliding animation

9
	var timer = 0;
10
	
11
	// creates the slide animation for all list elements 

12
	$(list_elements).each(function(i)
13
	{
14
		// margin left = - ([width of element] + [total vertical padding of element])

15
		$(this).css("margin-left","-180px");
16
		// updates timer

17
		timer = (timer*multiplier + time);
18
		$(this).animate({ marginLeft: "0" }, timer);
19
		$(this).animate({ marginLeft: "15px" }, timer);
20
		$(this).animate({ marginLeft: "0" }, timer);
21
	});
22
23
	// creates the hover-slide effect for all link elements 		

24
	$(link_elements).each(function(i)
25
	{
26
		$(this).hover(
27
		function()
28
		{
29
			$(this).animate({ paddingLeft: pad_out }, 150);
30
		},		
31
		function()
32
		{
33
			$(this).animate({ paddingLeft: pad_in }, 150);
34
		});
35
	});
36
}

Langkah 6

Semua yang perlu kita lakukan untuk memicu script adalah memanggil fungsi ketika halaman telah dimuat. Ada dua tempat untuk meletakkan potongan kode berikut. Ini dapat menjadi tertulis di dalam file sliding_effect.js (saya memilih opsi ini untuk tutorial ini) atau disebut dalam menggunakan HTML<script></script>

1
2
$(document).ready(function()
3
{
4
	slide([navigation_id], [pad_out], [pad_in], [time], [multiplier]);
5
});

Langkah 7

Akhirnya kita akan menambahkan sedikit gaya laman untuk membuatnya terlihat sedikit lebih glamor. Pertama saya telah membuat sebuah blok gambar yang terlihat seperti ini:

Gambar memiliki gradien pingsan, garis sorot, 190px luas dan disebut "background.jpg". Ide akan menjadi posisi ini di sebelah kiri navigasi kami sehingga tombol geser di bawahnya. Kita juga akan menambahkan sedikit pos judul halaman. Jadi HTML kita menjadi:

1
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

3
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
<html>
5
	<head>
6
		<title>Navigation Effect Using jQuery</title>
7
		<link rel="stylesheet" type="text/css" href="styles.css" />
8
		<script type="text/javascript" src="jquery.js"></script>
9
		<script type="text/javascript" src="sliding_effect.js"></script>
10
	</head>
11
	<body>
12
		<div id="navigation-block">
13
        	<img src="background.jpg" id="hide" />
14
            <h2><span>Navigation Effect Using jQuery</span></h2>
15
            <p>By Bedrich Rios</p>
16
            <ul id="sliding-navigation">
17
                <li class="sliding-element"><h3>Navigation Title</h3></li>
18
                <li class="sliding-element"><a href="#">Link 1</a></li>
19
                <li class="sliding-element"><a href="#">Link 2</a></li>
20
                <li class="sliding-element"><a href="#">Link 3</a></li>
21
                <li class="sliding-element"><a href="#">Link 4</a></li>
22
                <li class="sliding-element"><a href="#">Link 5</a></li>
23
            </ul>
24
        </div>
25
	</body>
26
</html>

Perhatikan bahwa saya telah menambahkan gambar di dalam elemen "navigasi-blok" dan memberikan ID yang disebut "Sembunyikan". Juga, saya telah menambahkan elemen judul dan subjudul. Sekarang kita menambahkan sedikit tambahan CSS file styles.css kami sebagai berikut:

1
2
3
h2 	
4
{ 
5
	color: #999;
6
	margin-bottom: 0; 
7
	margin-left:13px;
8
	background:url(navigation.jpg) no-repeat;
9
	height:40px;
10
}
11
12
h2 span
13
{
14
	display: none;
15
}
16
17
p	
18
{ 
19
	color: #ffff66; 
20
	margin-top: .5em;
21
	font-size: .75em;
22
	padding-left:15px;	
23
}
24
25
#navigation-block {
26
	position:relative;
27
	top:200px;
28
	left:200px;
29
}
30
31
#hide {
32
	position:absolute;
33
	top:30px;
34
	left:-190px;
35
}

Jadi pertama dalam<h2>elemen, kami telah menetapkan teks HTML menghilang menggunakan "menampilkan: tidak ada" dan mengatur gambar latar belakang teks mencari beberapa lebih bagus saya disiapkan sebelumnya.</h2>

Juga perhatikan bahwa elemen "navigasi-blok" sekarang memiliki posisi yang relatif, sehingga kita dapat memindahkan "Sembunyikan" gambar ke kiri. Ini akan membuat tab yang muncul dari bawah itu.

Akhirnya memberikan tab kami sedikit selesai saya telah menambahkan gambar latar belakang yang halus yang terlihat seperti shading seperti ini:

1
2
ul#sliding-navigation li.sliding-element h3
3
{
4
	color: #fff;
5
	background:#333 url(heading_bg.jpg) repeat-y;
6
	font-weight: normal;
7
}

Selesai

Dan kita sudah selesai!

Lihat efek akhir

Download HTML/gambar/JS

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.