<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sniper &#187; JavaScript</title>
	<atom:link href="http://tuncay.kinali.net/kategoriler/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://tuncay.kinali.net</link>
	<description>Hafızamın bir kısmı</description>
	<lastBuildDate>Sat, 22 May 2010 10:22:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Javascript ile sayfalama</title>
		<link>http://tuncay.kinali.net/javascript-ile-sayfalama.html</link>
		<comments>http://tuncay.kinali.net/javascript-ile-sayfalama.html#comments</comments>
		<pubDate>Tue, 10 Mar 2009 18:21:42 +0000</pubDate>
		<dc:creator>Sniper</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[jscript]]></category>
		<category><![CDATA[sayfalama]]></category>

		<guid isPermaLink="false">http://kinali.net/?p=4</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.<br />
 <span id="more-4"></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code9'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p49"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code" id="p4code9"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;icerik&quot;</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;font:normal normal normal 11px verdana;border:1px solid #000000; width:400px;height:300px;padding:4px&quot;</span><span style="color: #339933;">&gt;&amp;</span>nbsp<span style="color: #339933;">;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;sayfalar&quot;</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;font:normal normal normal 11px verdana;border:1px solid #000000;width:400px;padding:4px;text-align:right&quot;</span><span style="color: #339933;">&gt;</span>Sayfalar <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;JavaScript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> metin <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Birinci sayfada okunacak yazı &lt;!--bol--&gt;İkinci sayfada okunacak yazı&lt;!--bol--&gt;Üçüncü sayfada okunacak yazı&lt;!--bol--&gt;Dördüncü sayfada okunacak yazı&quot;</span>
<span style="color: #003366; font-weight: bold;">var</span> bolum <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> bol<span style="color: #009900;">&#40;</span>metin<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
bolum <span style="color: #339933;">=</span> metin.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;!--bol--&gt;&quot;</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>bolum .<span style="color: #660066;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;sayfalar&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;&lt;a href=&quot;</span>#<span style="color: #3366CC;">&quot; onclick=&quot;</span>sayfaGoster<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;+(i)+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #3366CC;">&quot;&gt;&quot;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;&amp;nbsp;&quot;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> sayfaGoster<span style="color: #009900;">&#40;</span>syf<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;icerik&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> bolum<span style="color: #009900;">&#91;</span>syf<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
bol<span style="color: #009900;">&#40;</span>metin<span style="color: #009900;">&#41;</span>
sayfaGoster<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">//Javascript´in saymaya sıfırdan başladığını unutmuyoruz.</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>bolum<span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Öncelikle ilk iki satırı ele alalım:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code10'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p410"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p4code10"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;icerik&quot;</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;font:normal normal normal 11px verdana;border:1px solid #000000; width:400px;height:300px;padding:4px&quot;</span><span style="color: #339933;">&gt;&amp;</span>nbsp<span style="color: #339933;">;&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;sayfalar&quot;</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;font:normal normal normal 11px verdana;border:1px solid #000000;width:400px;padding:4px;text-align:right&quot;</span><span style="color: #339933;">&gt;</span>Sayfalar <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Buradaki DIV katmanlarının sadece ID özelliklerine dikkat edilmeli. Yazının ekleneceği katmanın ID´si &#8220;icerik&#8221;, sayfa sayılarının yazdırılacağı katmanın ID´sinin de &#8220;sayfalar&#8221; olması gereklidir. Diğer tüm görsel değişiklikleri kendi isteğinize göre değiştirebilirsiniz.</p>
<p>Şimdi de scriptimize geçelim:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code11'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p411"><td class="line_numbers"><pre>4
5
</pre></td><td class="code" id="p4code11"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> metin <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Birinci sayfada okunacak yazı &lt;!--bol--&gt;İkinci sayfada okunacak yazı&lt;!--bol--&gt;Üçüncü sayfada okunacak yazı&lt;!--bol--&gt;Dördüncü sayfada okunacak yazı&quot;</span>
<span style="color: #003366; font-weight: bold;">var</span> bolum <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span></pre></td></tr></table></div>

<p>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 &#8220;<!--bol-->&#8221; ayracı koymanız gereklidir. Bu ayraçlar sayesinde yazınız bol() fonksiyonu kullanılarak sayfalara bölünecektir.</p>
<p>5. satırdaki &#8220;bolum&#8221; 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:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code12'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p412"><td class="line_numbers"><pre>8
</pre></td><td class="code" id="p4code12"><pre class="javascript" style="font-family:monospace;">bolum <span style="color: #339933;">=</span> metin.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;!--bol--&gt;&quot;</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>10. satırda bulunan &#8220;for&#8221; döngüsü, &#8220;bolum&#8221; değişkeni sayesinde, &#8220;sayfalar&#8221; katmanına değişkenin dizi sayısınca sayfa linki ekler.</p>
<p>11. satırda eklenen link etiketlerinin &#8220;onclick&#8221; olaylarında; yazının görüntüleneceği &#8220;icerik&#8221; 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.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code13'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p413"><td class="line_numbers"><pre>10
11
12
13
</pre></td><td class="code" id="p4code13"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>bolum .<span style="color: #660066;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;sayfalar&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;&lt;a href=&quot;</span>#<span style="color: #3366CC;">&quot; onclick=&quot;</span>sayfaGoster<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;+(i)+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #3366CC;">&quot;&gt;&quot;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;&amp;nbsp;&quot;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>bolum<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>15 ve 17. satırlar arasındaki sayfaGoster() fonksiyonu, kendisine parametre olarak gönderilen numarayı alır, &#8220;bolum&#8221; dizi değişkeninde bu sayıya denk gelen veriyi bulur ve &#8220;icerik&#8221; katmanının innerHTML özelliği kullanılarak bulunan veri bu katmana yazdırır.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code14'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p414"><td class="line_numbers"><pre>15
16
17
</pre></td><td class="code" id="p4code14"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> sayfaGoster<span style="color: #009900;">&#40;</span>syf<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;icerik&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> bolum<span style="color: #009900;">&#91;</span>syf<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>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 &#8220;metin&#8221; değişkenimize atadığımız veriyi bol() fonksiyonu ile işletiyoruz:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code15'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p415"><td class="line_numbers"><pre>19
</pre></td><td class="code" id="p4code15"><pre class="javascript" style="font-family:monospace;">bol<span style="color: #009900;">&#40;</span>metin<span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>Ve 20. satırda da sayfaGoster() fonksiyonu ile elimizdeki ilk değeri &#8220;icerik&#8221; kısmına yazdırıyoruz (Bunu yapmazsak açılışta &#8220;icerik&#8221; katmanımız boş görünecektir).</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p4code16'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p416"><td class="line_numbers"><pre>20
</pre></td><td class="code" id="p4code16"><pre class="javascript" style="font-family:monospace;">sayfaGoster<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">//Javascript´in saymaya sıfırdan başladığını unutmuyoruz.</span></pre></td></tr></table></div>

<p>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 :)</p>
<p><strong>NOT:</strong> 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.</body></head></body></script></p>
]]></content:encoded>
			<wfw:commentRss>http://tuncay.kinali.net/javascript-ile-sayfalama.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
