| 
            
  
            
             
                  
                  JavaScript ile Sayfalama 
            
 
              
              
                
                  | 
                  Elinizde çok uzun bir yazı var, bu yazıyı sitenizde yayınlamak 
                  istiyorsunuz ama çok uzun olduğu için sitenizin görünümünü 
                  bozacak endişesiyle bir türlü ekleyemiyorsunuz. ASP veya PHP 
                  gibi dilleri kullanarak bu yazıyı sayfalara bölebilirsiniz 
                  fakat bu sefer de her sayfa için sitenin yeniden yüklenmesi 
                  gerektiğinden bu durumun kullanıcıyı iteceğini düşündüğünüz 
                  için bunu da istemiyorsunuz. O zaman çözüm JavaScript´te. 
                  Aşağıdaki fonksiyonu tarif edildiği şekilde kullanacak 
                  olursanız, yazınızı istediğiniz boyutta hazırlamış olduğunuz 
                  DIV katmanı içine ekleyebilir ve sayfalar arasında tekrar 
                  yüklemeye gerek olmadan gezinebilirsiniz. Önce kodumuzun 
                  tamamını yazıp daha sonra satır satır ayrıntılarına girelim.
 
                    
                    
                      
                        | 
                          
 
                          <div
                          id="icerik"
                          style="font:normal 
                          normal normal 11px verdana;border:1px solid #000000; 
                          width:400px;height:300px;padding:4px"> </div>
                          <div
                          id="sayfalar"
                          style="font:normal 
                          normal normal 11px verdana;border:1px solid #000000;width:400px;padding:4px;text-align:right">Sayfalar 
                          = </div>
                          <script 
                          language="JavaScript">
                          var
                          metin =
                          "Birinci sayfada okunacak yazı 
                          <!--bol-->İkinci sayfada okunacak yazı<!--bol-->Üçüncü 
                          sayfada okunacak yazı<!--bol-->Dördüncü sayfada 
                          okunacak yazı"
                          var
                          bolum = 
                          ""
                          
                          function
                          bol(metin) {
                            bolum = metin.split("<!--bol-->")
                          
                            for(i=0;i<bolum.length;i++) 
                          {
                              document.getElementById("sayfalar").innerHTML 
                          += "<a href="#" onclick="sayfaGoster("+(i)+")">"+(i+1)+"</a> "
                            }
                          }
                          
                          function
                          sayfaGoster(syf) {
                            document.getElementById("icerik").innerHTML 
                          = bolum[syf]
                          } 
                          
                          bol(metin)
                          sayfaGoster(0) //Javascript´in 
                          saymaya sıfırdan başladığını unutmuyoruz.
                          </script>
                           |  |  Öncelikle ilk iki 
            satırı ele alalım:
 
              
              
                
                  | 
                    
                    
                    <div 
                    id="icerik"
                    style="font:normal 
                    normal normal 11px verdana;border:1px solid #000000; width:400px;height:300px;padding:4px"> </div>
                    <div 
                    id="sayfalar"
                    style="font:normal 
                    normal normal 11px verdana;border:1px solid #000000;width:400px;padding:4px;text-align:right">Sayfalar 
                    = </div> |   Buradaki DIV 
            katmanlarının sadece ID özelliklerine dikkat edilmeli. 
            Yazının ekleneceği katmanın ID´si "icerik", sayfa sayılarının 
            yazdırılacağı katmanın ID´sinin de "sayfalar" olması 
            gereklidir. Diğer tüm görsel değişiklikleri kendi isteğinize göre 
            değiştirebilirsiniz. Şimdi de 
            scriptimize geçelim:
 
              
              
                
                  | 
                    
                    
                    var
                    metin = 
                    "Birinci sayfada okunacak yazı <!--bol-->İkinci sayfada 
                    okunacak yazı<!--bol-->Üçüncü sayfada okunacak 
                    yazı<!--bol-->Dördüncü sayfada okunacak yazı"
                    var 
                    bolum = ""
 |   4. satır 
            işleyiş için çok önemli. Elinizde bulunan yazıya uygulamanız gereken 
            bir kural var. Yazınızı bölmek istediğiniz yerlere "<!--bol-->" 
            ayracı koymanız gereklidir. Bu ayraçlar sayesinde yazınız bol() 
            fonksiyonu kullanılarak sayfalara bölünecektir.5. satırdaki "bolum" isimli değişkenimiz ise bol() 
            fonksiyonu tarafından kullanılacaktır. bol() fonksiyonu, 
            yazımızı belirttiğimiz yerlerden bölecek, bu değişkenimizin veri 
            tipini dizi değişkeni türüne çevirecek ve bulduğu her sayfayı bu 
            değişkenimizin içinde saklayacaktır. Nitekim 8. satırda bu 
            işlem gerçekleşiyor:
 
 
              
              
                
                  | 
                    
                    
                    bolum = metin.split("<!--bol-->")
 |   10. satırda 
            bulunan "for" döngüsü, "bolum" değişkeni sayesinde, 
            "sayfalar" katmanına değişkenin dizi sayısınca sayfa linki 
            ekler. 11. satırda eklenen link etiketlerinin "onclick" 
            olaylarında; yazının görüntüleneceği "icerik" katmanında 
            gösterilecek kısımların numaraları sayfaGoster() fonksiyonuna 
            parametre olarak gönderilerek bu fonksiyon tetiklenir ve 12. 
            satırda döngümüzün sınırı belirlenerek kapatılır.
 
 
              
              
                
                  | 
                    
                    
                    for(i=0;i<bolum.length;i++) 
                    {
                      document.getElementById("sayfalar").innerHTML 
                    += "<a href="#" onclick="sayfaGoster("+(i)+")">"+(i+1)+"</a> "
                    }
 |   15 ve 17. 
            satırlar arasındaki sayfaGoster() fonksiyonu, kendisine 
            parametre olarak gönderilen numarayı alır, "bolum" dizi 
            değişkeninde bu sayıya denk gelen veriyi bulur ve "icerik" 
            katmanının innerHTML özelliği kullanılarak bulunan veri bu 
            katmana yazdırır.  
 
              
              
                
                  | 
                    
                    
                    function
                    sayfaGoster(syf) {
                      document.getElementById("icerik").innerHTML 
                    = bolum[syf]
                    }
 |   Son olarak sayfanın 
            ilk yüklendiğinde sayfalama işleminin yapılabilmesi için 
            scriptimizin bol() fonksiyonunu çağırıp yazımızı böldürmeli 
            ve çıkan sonucun ilk değerini katmanımıza yazdırmalıyız. Bu, 
            kullanıcı sayfayı açtığında ilk sayfayı görmesini sağlamak anlamına 
            geliyor. 19. satırda "metin" değişkenimize atadığımız 
            veriyi bol() fonksiyonu ile işletiyoruz:  
 Ve 20. 
            satırda da sayfaGoster() fonksiyonu ile elimizdeki ilk değeri
            "icerik" kısmına yazdırıyoruz (Bunu yapmazsak açılışta "icerik" 
            katmanımız boş görünecektir).
 
              
              
                
                  | 
                    
                    
                    sayfaGoster(0) 
                    //Javascript´in saymaya sıfırdan 
                    başladığını unutmuyoruz.
 |   Artık yazımız 
            istediğimiz boyutlarda ayarlanmış ve istediğimiz yerlerden kesilmiş 
            vaziyette, sayfa yeniden yükleme sorunu olmadan sayfalar arasında 
            anında geçişler yapmaya hazır şekle geldi. İyi yazılarda kullanmanız 
            dileğiyle :) 
 
              
              
                
                  | 
                  NOT: Script hem 
                  Internet Explorer 6.0´da hem de Mozilla Firefox 1.0.4´te 
                  denenmiş olup herhangi bir hataya rastlanmamıştır. Scriptin 
                  düzgün çalışabilmesi için gerekli katmanların mutlak surette 
                  sayfaya eklenmiş olması, farklı isimler kullanılacaksa script 
                  kodu içerisinde gerekli yerlerin değiştirilmesi gerekmektedir.
                  <SCRIPT> bloğu içerisindeki 
                  kodların 19 ve 20. satırlarının, katmanlar 
                  oluşturulduktan sonra <BODY> 
                  etiketleri arasına herhangi bir yere iliştirilmesi önemlidir. 
                  Diğer kodlar <HEAD> etiketi 
                  içinde de olabilir. Tavsiye edilen ise tüm script kodlarının
                  <BODY> etiketi içinde katmanlar 
                  oluşturulduktan sonra herhangi bir yere eklenmesi yönündedir. |  
                  
  |