Tutorial Belajar Pemrograman, membuat game, membuat aplikasi, membuat program, android, game maker, yii, php, CSS, HTML, java, javascript, codeigniter, jquery, Pascal, c++

Thursday, February 26, 2015

Cara Membuat Infinite Scroll Dengan jQuery dan PHP

Cara Membuat Infinite Scroll Dengan jQuery dan PHP - Infinite Scroll adalah halaman tak berujung tanpa batas, meskipun anda tetap menscroll halaman tidak akan ada ujungnya sampai menyetuh batas terakhir konten atau hal ini biasa di sebut dengan autopagerize. Sebenarnya bukan halamannya lah yang tidak memiliki batas melainkan ketika kita mencapai bawah atau titik tertentu javascript di jquery akan langsung meload konten baru dan meletakannya di bawah konten terakhir, hal ini akan terus di lakukan hingga tidak ada lagi konten yang dapat di load.

Sebagai contoh jika anda pernah menggunakan facebook ( ya pasti pernah lahhh bkakakak ) di beranda jika anda menscroll ke bawah halaman akan terus meload status baru terus menerus tanpa ada batasnya. 

Lalu bagai manakah cara membuatnya ? langsung saja disini kita akan belajar Cara Membuat Infinite Scroll Dengan jQuery dan PHP

Untuk menulisakan script anda dapat menggunakan apa saja bebas, contoh : Notepad, Notepad++, Dreamwaver, NetBeans, Eclipse.

PHP

Kenapa pake PHP ? nah, sebenernya tanpa PHP pun kita bisa membuat infinite scroll tapi untuk memudahkan kalian nanti apabila ingin mengaplikasikannya langsung di website kalian jadi disini saya langsung menggunakan PHP. Yang namanya konten website nantinya kan harus dinamis jadi data yang di load nantinya akan berasal dari database jadi kita harus menggunakan PHP, tapi pada kali ini kita tidak akan menggunakan database tetapi hanya menggunakan PHP.

Buatlah sebuah folder baru di webserver anda ( karena disini kita menggunakan PHP jadi wajib mesti kudu harus ada webservernya ) buatlah folder dengan nama infinite_scroll kemudian buatlah sebuah file PHP baru dengan nama load_content.php dengan isi script seperti berikut :

<?php 
 $id = $_GET['id'];
 echo '<li>Content '.$id.'</li>';
?>

File ini yang nantinya akan di panggil oleh jQuery untuk konten selanjutnya apabila halaman di scroll. 

CSS

Agar terlihat lebih menarik kita buat sebuah file CSS baru di dalam folder yang sama dengan nama style.css masukan script berikut :

<style>
html { font-size: 100%;  }
body { 
  font-size: 16px;
  background: #0172c6;
  color: #fff;
}

.wrapper {
  max-width: 65%;
  margin: auto;
}


h2 { 
  color: #fff;  
  padding: 0;
  font-size: 1.5rem;
  font-family: 'Open Sans', sans-serif;
  display: block;
  text-align: Center;
}

h1 { 
  color: #fff; 
  margin: 3rem 0 1rem 0; 
  padding: 0;
  font-size: 1.5rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  display: block;
  text-align: Center;
}
.items li{
 list-style: none;
 width: 100%;
 background: #fff;
 color: #0172c6;
 text-align: center;
 font-size: 40px;
 margin-bottom :10px;
}
</style>

jQuery

Anda dapat mengunduh jQuery langsung dari situs resminya di sini : Download
Kemudian letakan di folder yang sama dengan sebelumnya.

HTML

Sekarang untuk markupnya buatlah sebuah file PHP baru dalam folder yang sama dengan nama index.php dengan isi script :

<!DOCTYPE html>
<html>
 <head>
 <title>Infinite Loop | Jin Toples Programming</title>
 <link href="style.css" rel="stylesheet">     
 <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
 <script type="text/javascript">
 $(document).ready(function(){
  var x=11;
  function lastAddedLiveFunc()
  {
   $('div#lastPostsLoader').html('<img src="loading.gif"/>');
   $.post("load_content.php?id="+x, function(data){
    if (data != "") {     
     $(".items").append(data);
    }
    $('div#lastPostsLoader').empty();
    x++;
   });
  };
  
  //lastAddedLiveFunc();
  $(window).scroll(function(){
  
   var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
   var  scrolltrigger = 0.95;
  
   if  ((wintop/(docheight-winheight)) > scrolltrigger) {   
    lastAddedLiveFunc();
   }
  });
 });
 </script>
</head>
 <body>
  <div class="wrapper">
   <h1>Jin Toples Programming</h1>
   <h2>Infinite Loop</h2>
<ul class="items">
   <li>Content 1</li>
   <li>Content 2</li>
   <li>Content 3</li>
   <li>Content 4</li>
   <li>Content 5</li>
   <li>Content 6</li>
   <li>Content 7</li>
   <li>Content 8</li>
   <li>Content 9</li>
   <li>Content 10</li>
</ul>
<div id="lastPostsLoader"></div>
</body>
</html>

Perhatikan pada fungsi javascript di atas :
function lastAddedLiveFunc()
  
Fungsi ini digunakan untuk meload konten baru dari file load_content.php dan meletakan isi konten di bagian bawah dalam class items dengan menggunakan fungsi append

Perhatikan pada baris kode java script ini :

$(window).scroll(function(){

Hal ini javascript berfungsi untuk mendeteksi apakah sebuah halaman sedang di scroll atau tidak, kemudian perhatikan pada baris - baris di bawahnya ia akan mengecek apakah halaman melebihi 0.95 / 95% atau tidak jika melebihi maka jalankan fungsi lastAddedLifeFunc.

var  scrolltrigger = 0.95;

Pada baris kode di ataslah anda dapat mengatur sampai sejauh mana halaman di scroll baru konten baru akan di load, silahkan anda coba membesar atau mengecilkannya.

Sekarang Infinite Scroll Dengan jQuery dan PHP anda sudah selesai anda dapat mencobanya dengan cara membukanya di browser anda, disarankan membukanya dengan browser Chrome atau Mozilla, jangan menggunakan IE Bkakakak.... jika di IE tidak jalan saya sudah tidak heran.

Anda juga dapat mengunduh file jadinya di sini : DOWNLOAD

Terima Kasih Telah Mengunjungi Blog Sederhana Ini.

Di Mohon Apabila Anda Ingin Mengcopas Artikel Pada Blog ini Cantumkan URL Sumber.

Sebagai Pengunjung Yang Baik Anda Dapat Meninggalkan Komentar di Blog Sederhana Ini.

Share this post

2 komentar

  1. untuk versi jquerynya kalau beda pengaruh ga yah?

    ReplyDelete
    Replies
    1. Terkadang ada tapi tidak sering, Disarankan menggunakan versi yang paling baru. atau menggunakan versi yang saya gunakan, bisa di download sendiri beserta file jadinya di atas.
      :)

      Delete

:) :) :-) :-) :)) :)) =)) =)) :( :( :-( :-( :(( :(( :d :d :-d :-d @-) @-) :p :p :o :o :>) :>) (o) (o) [-( [-( :-? :-? (p) (p) :-s :-s (m) (m) 8-) 8-) :-t :-t :-b :-b b-( b-( :-# :-# =p~ =p~ :-$ :-$ (b) (b) (f) (f) x-) x-) (k) (k) (h) (h) (c) (c) cheer cheer

 
© Jin Toples Programming
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0