




<?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>Karalama Defteri &#187; Javascript</title>
	<atom:link href="http://weboutbox.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://weboutbox.com</link>
	<description>Klavye Kırıntıları</description>
	<lastBuildDate>Wed, 31 Mar 2010 21:55:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Ajax sayfalarda prettyPhoto sorunu ve çözümü</title>
		<link>http://weboutbox.com/ajax-sayfalarda-prettyphoto-sorunu-ve-cozumu/</link>
		<comments>http://weboutbox.com/ajax-sayfalarda-prettyphoto-sorunu-ve-cozumu/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 01:29:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[galeri]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[picture gallery]]></category>
		<category><![CDATA[prettyPhoto]]></category>

		<guid isPermaLink="false">http://weboutbox.com/?p=117</guid>
		<description><![CDATA[prettyPhoto&#8216;yu bir ajax içinde çağrılan resimlere uygulamak isteyince bir takım sorunlar ortaya çıkarıyor. Nasıl diyecek olursanız, eğer bir sayfa içerisinde üç kez ajax ile çağırım yaparsanız resimlere üç kere tıklama ekliyor ve resimler birbirine giriyor. Sanırım bunu açıklamak için bir örnek vermek daha mantıklı olacak. Buradan birinci ve hiç çalışmayacak örneğimize bakabilirsiniz. Bu sayfamızda, sayfa <a href="http://weboutbox.com/ajax-sayfalarda-prettyphoto-sorunu-ve-cozumu/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a title="prettyPhoto sayfası" href="http://weboutbox.com/jppp" target="_blank">prettyPhoto</a>&#8216;yu bir ajax içinde çağrılan resimlere uygulamak isteyince bir takım sorunlar ortaya çıkarıyor. Nasıl diyecek olursanız, eğer bir sayfa içerisinde üç kez ajax ile çağırım yaparsanız resimlere üç kere tıklama ekliyor ve resimler birbirine giriyor. Sanırım bunu açıklamak için bir örnek vermek daha mantıklı olacak.</p>
<p><a href="/ornek_jppp_1" target="_blank">Buradan</a> birinci ve hiç çalışmayacak örneğimize bakabilirsiniz. Bu sayfamızda, sayfa yüklendikten sonra prettyPhoto ile rel&#8217;i uygun olanları bir galeri haline getiriyoruz. Ancak sayfa açıldığı anda bizim 2 galerimizde sayfada yüklü değil. Bu nedenle linklerimize prettyPhoto bind edilemiyor. Biz galeriyi <strong>.load</strong> yöntemi ile çağırırken birde <strong>function </strong>ekleyerek çağırdığımız sayfadan gelen linklerin <strong>onclick </strong>event&#8217;ine prettyPhoto&#8217;yı <strong>bind </strong>edelim.</p>
<p>birinci örnekteki linklerin <strong>onclick </strong>evenlerini şöyle düzenliyoruz ;</p>
<pre class="brush: html">
onclick=&quot;$(&#039;#resimler&#039;).load(&#039;images1.html&#039;,function(){ prettyBind(); });&quot;
</pre>
<p>Bu eklemeyi yaptıktan sonra birde <strong>prettyBind</strong> adında function yazmamız gerekecek. Bu function ile load işleminden sonra linklere galeri özelliğini ekleyeceğiz. Fonksiyonumuz şöyle olacak;</p>
<pre class="brush: js">
function  prettyBind(){
$(&quot;a[rel^=&#039;prettyPhoto&#039;]&quot;).prettyPhoto();
}
</pre>
<p>Örneğimizin yeni haline <a href="/z38" target="_blank">buradan</a> bakabilirsiniz.</p>
<p>Bu fonksiyonu ekledikten sonra örneğimizi açıp galerilere bir kaç kez tıkladıktan sonra firebug ile kodlarımızı incelediğimizde şöyle bir tablo çıkıyor karşımıza ;</p>
<p><a href="/ornekler/pretty/floodpretty.gif"><img class="alignnone" title="flood" src="/ornekler/pretty/floodpretty.gif" alt="" width="553" height="190" /></a></p>
<p>Kodlarda böyle bir tekrar söz konusu olunca tabii ki gösterimde de sıkıntılar ortaya çıkıyor. Siz sayfayı açarak kendi denemelerinizi yapabilirsiniz ancak biz yinede bir resim ile gösterelim.</p>
<p><a href="/ornekler/pretty/prettyTrouble.gif"><img class="alignnone" title="karışıklık" src="/ornekler/pretty/prettyTrouble.gif" alt="" width="702" height="597" /></a></p>
<p>Peki bunları engellemek için ne yapmalıyız? Evet, yazımızın konusu da tam olarak bu noktada başlıyor. Bunu düzeltmenin 2 yöntemi var birisi <strong>prettyBind </strong>fonksiyonuna müdahale ederek yapabiliriz. Ancak bu geçici bir çözüm olacaktır. Biz burada prettyPhoto.js&#8217;ye müdahale ederek tüm projeyi hatta ileride yapacağımız projelerimizide bu dertten kurtarmış olacağız.</p>
<p>Şimdi, prettyPhoto.js dosyasını açıyoruz,</p>
<pre class="brush: js">
function _buildOverlay(){
</pre>
<p>kod bloğunu buluyoruz ve hemen altına</p>
<pre class="brush: js">
$(&#039;div.pp_pic_holder,div.pp_overlay,div.ppt&#039;).remove();
</pre>
<p>kodlarını yapıştırıyoruz. Peki burada ne yapıyoruz? Linkleri bir <a href="/jquery-each/">each</a> ile dönmeye başladığı zamanda, daha önceki galerileri <strong>.load</strong> ile her çağırdığımızda sayfaya otomatik olarak eklenen <strong>&#8220;pp_pic_holder,pp_overlay,ppt&#8221;</strong> classlarına sahip divleri temizliyoruz, fonksiyon yenisini ekliyor. Böylece karışıklık ortadan kalkmış oluyor.</p>
<p>Son olarak yeni prettyPhoto.js dosyamız ile yeni ve sorunsuz galerimize bakalım. <a href="/s2f" target="_blank">Buradan</a> galerimizin son haline bakabilirsiniz.</p>
<p>prettyPhoto.js dosyamızın son haline <a href="/smf" target="_blank">buradan</a> ulaşabilirsiniz</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(117, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 6"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_117_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_117_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/ajax-sayfalarda-prettyphoto-sorunu-ve-cozumu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery ile Animasyon(Animation) &#8211; II</title>
		<link>http://weboutbox.com/jquery-ile-animasyonanimation-ii/</link>
		<comments>http://weboutbox.com/jquery-ile-animasyonanimation-ii/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 02:30:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[animasyon]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[each]]></category>
		<category><![CDATA[efekt]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[galeri]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[picture]]></category>
		<category><![CDATA[picture gallery]]></category>
		<category><![CDATA[resim galerisi]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=53</guid>
		<description><![CDATA[Bir önceki yazımda jQuery ile animasyona giriş yapmıştık. Bu yazı ile zincirleme ve etkileşimli animasyonlar hazırlayacağız. Zincirleme derken neden bahsediyorum ; Bir divimiz var ve biz bunu önce genişlemesini sonrada yüksekliğinin değişmesini istiyoruz. İşte burada jQuery&#8217;nin en sevdiğim özelliklerinden birisi olan zincirleme devreye giriyor. Önce javascript kodlarımızı yazalım : function func1(id) { //id&#039;sini parametre olarak <a href="http://weboutbox.com/jquery-ile-animasyonanimation-ii/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Bir önceki yazımda jQuery ile animasyona giriş yapmıştık. Bu yazı ile zincirleme ve etkileşimli animasyonlar hazırlayacağız.</p>
<p>Zincirleme derken neden bahsediyorum ;</p>
<p>Bir <em>div</em>imiz var ve biz bunu önce genişlemesini sonrada yüksekliğinin değişmesini istiyoruz. İşte burada jQuery&#8217;nin en sevdiğim özelliklerinden birisi olan zincirleme devreye giriyor.</p>
<p>Önce javascript kodlarımızı yazalım :</p>
<pre class="brush: js">
function func1(id)
{
  //id&#039;sini parametre olarak gönderdiğimiz elementin
  //önce genişliği ile sonrada arkaplan rengi ile oynuyoruz
  $(&#039;#&#039;+id).animate({width:500},250).animate({height:500},250);
  //zincirleme animasyonlarda bir işlem bittikten sonra
  //diğeri başlar
}
</pre>
<p>HTML kodlarımız :</p>
<pre class="brush: html">
&lt;input onclick=&quot;func1(&#039;div1&#039;)&quot; type=&quot;button&quot; value=&quot;oynat&quot; id=&quot;genislet&quot; /&gt;
&lt;br /&gt;
&lt;div style=&quot;width:100px;height:100px;background:#f00;display:block;&quot; id=&quot;div1&quot;&gt;&lt;/div&gt;
</pre>
<p>Örneğimize <a href="/ornekler/animate/ani2.html?ornek1"> buradan </a> ulaşabilirsiniz.</p>
<p>Zincirleme, sadece animasyonlar arasında bir hiyerarşi sağlamaktadır. Yani <em>animate</em>den sonra bir css kodu yazarsanız bu animasyon başladığı anda gerçekleşecektir.</p>
<p>Temel olarak anlatmamız gerekenleri bitirdiğimize göre örneklerimizi komplike hale getirelim.</p>
<p>4 tane resim içeren bir animasyon hazırlayalım. Başlangıçta hepsinin eni ve boyu eşit görünecek. Normal boyutları farklı resimler seçecez ve tıkladığımız resim orjinal boyutuna gelecek. Öncelikle resimler için google&#8217;dan &#8220;<em><strong>cat</strong></em>&#8221; diye arama yapıp 4 tane resim seçeyim <img src='http://weboutbox.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Resimlerimizi yan yana sıralıyoruz ve basit bir css uyguluyoruz. CSS&#8217;imizin amacı, tüm resimleri aynı boyutlardaki divlerin içerisine yerleştirerek farklı boyutlardaki resimlerin görüntüyü bozmasını engelliyoruz.</p>
<p>Öncelikle HTML kodlarımızı yazalım :</p>
<pre class="brush: html">
&lt;div style=&quot;margin-left: 30%; margin-top: 150px;&quot;&gt;
    &lt;div class=&quot;resim&quot;&gt;&lt;img src=&quot;http://www.arastiralim.net/wp-content/uploads/2008/02/lady-cat.jpg&quot; /&gt;&lt;/div&gt;
    &lt;div class=&quot;resim&quot;&gt;&lt;img src=&quot;http://www.plasticbamboo.com/wp/wp-content/uploads/hello-kitty-cat.jpg&quot; /&gt;&lt;/div&gt;
    &lt;div class=&quot;resim&quot;&gt;&lt;img src=&quot;http://www.fulyavet.com/images/cat17.jpg&quot; /&gt;&lt;/div&gt;
    &lt;div class=&quot;resim&quot;&gt;&lt;img src=&quot;http://asymptotia.com/wp-images/2006/12/copy_cat_copies.jpg&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>CSS kodlarımız :</p>
<pre class="brush: css">
.resim{
    height:90px;
    float:left;
    margin:0px 10px;
    width:100px;
    overflow:hidden;
}
</pre>
<p>HTML ve CSS kodlarımızı tamamladığımıza göre jQuery kodlarımızı yazmaya başlayabiliriz.</p>
<p>Sayfamız yüklendiği zaman <strong>$(document).ready()</strong> ile tüm resimlerimizin orjinal boyutlarını alıp <strong>rel</strong>&#8216;e atıyoruz. Tıklandığı zaman resmimizin boyutunu alabilmek için en kısa yöntem bence. Boyutları gerekli yere atadıktan sonra tüm resimlerimizin genişliğini 100 yapıyoruz. Yükseklikte genişliğe orantılı olarak otomatikmen değişiyor. Resimlerden herhangibirisine tıklandığı zaman yapılacak işlemleri belirliyoruz. Aşağıda zaten kodların içinde açıklamaları var ancak ben burada &#8220;<em><strong>each</strong></em>&#8220;den bahsetmek istiyorum ;</p>
<pre class="brush: js"> $(&#039;div.resim&gt;img&#039;).each(function(){
$(this).attr(&#039;rel&#039;,$(this).width());
});
</pre>
<p></em>satırları ile class&#8217;ı resim olan divlerin içerisindeki tüm resimleri &#8220;<em><strong>each</strong></em>&#8221; yardımı ile tek tek dönüyoruz. Yani hazır bir <em><strong>array</strong></em>&#8216;i yine hazır bir şekilde tek tek elemanlarına ayırıyoruz. Özellikle id ve class gibi seçivilerimizin olmadığı durumlarda bir üst seçiciye bağlı olarak işlem yapmamızı kolaylaştırır(programcılar için çok tanıdıktır zaten). Bu kod satırlarındaki üst seçicimi &#8220;<em><strong>div.resim</strong></em>&#8220;.</p>
<p>En son olarak javascript kodlarımızı yazıyoruz :</p>
<pre class="brush: js">

$(&#039;div.resim&gt;img&#039;).each(function(){
    //each ile tüm resimlerimizin orjinal genişliğini tektek
    //rel özelliğine(attribute) atıyoruz
    $(this).attr(&#039;rel&#039;,$(this).width());
    //tıklandığı zamanda buradan aldığımız değer ile
    //genişlik ve yüksekliğini ayarlıyoruz
});
//genişlik alma işlemimiz bittikten sonra tüm resimlerin
//genişliğini 100px&#039;e getiriyoruz
$(&#039;div.resim&gt;img&#039;).width(100);
//galerimizdeki bir resime tıklandığı zaman
//yapacağı işlemlere geçelim
$(&#039;div.resim&gt;img&#039;).click(function(){
//öncelikle açık olan resim için tüm resimleri sıfırlıyoruz
$(&#039;div.resim&gt;img&#039;)
.animate({width:100},250)//animate ile genişliğini 100px&#039;e çekiyoruz
//css özelliklerinide ilk haline getirmemiz gerekiyor
.css({&#039;z-index&#039;:&#039;1&#039;,&#039;position&#039;:&#039;static&#039;,&#039;margin-left&#039;:&#039;0px&#039;,&#039;margin-top&#039;:&#039;0px&#039;});
//ilk başta atadığımız rel değer ile animasyon sonunda
//resmimizin geleceği genişliği alıyoruz
var w = $(this).attr(&#039;rel&#039;);
//bulunduğu yeri ortalaması için biraz sola kaydırmak
//gerekeceğinden marginlerden 20 genişlikten dolayıda
//100 geliyor toplam genişlikten 120 çıkartıp
//2 ye bölerek ne kadar sola kayacağını hesaplıyoruz
var mL = (w-120)/2;
//basit ancak önemli bir kontrol ekliyoruz
//eğer resim küçük ise büyütme işlemlerini yap diyoruz
//isterseniz bu satıları kaldırarak farkı görebilirsiniz
if($(this).width() == 100)
{
    //öncelikle resmimizin positionunu absolute yaparak divin
    //css&gt;overflow özelliğini ezmesini sağlıyoruz
    //daha sonra z-index&#039;ini 5 yaparak diğer resimlerin üzerine alıyoruz
    //ve animasyonumuz ile estetik bir şekilde genişlik,
    //marginTop ve marginLeft&#039;i ile oynuyoruz
    $(this)
    .css({&quot;position&quot;:&quot;absolute&quot;,&quot;z-index&quot;:&quot;5&quot;})
    .animate({width:w,marginTop:&#039;-10%&#039;,marginLeft:&#039;-&#039;+mL},250);
    //ve bu basit resim galerimiz böylece sona eriyor
}
});
</pre>
<p>Bu örneğimizede <a href="http://weboutbox.com/ornekler/animate/ani2.html?ornek2" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(53, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 10"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_53_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_53_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/jquery-ile-animasyonanimation-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery ile Accordion menu hazırlayalım</title>
		<link>http://weboutbox.com/jquery-ile-accordion-menu-hazirlayalim/</link>
		<comments>http://weboutbox.com/jquery-ile-accordion-menu-hazirlayalim/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 16:14:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[accordion menu]]></category>
		<category><![CDATA[akordiyon]]></category>
		<category><![CDATA[akordiyon menü]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=39</guid>
		<description><![CDATA[Neredeyse bir web 2.0 standardı olan accordion menüler sayfalarımızında vazgeçilmezi haline geldi. Şimdi yazacağımız plugin ile accordion menü hazırlamak çok kolay hala gelecek. Sizlerde üzerinde biraz değişiklikler yaparak istediğiniz yapıda menüleri kolaylıkla oluşturabilirsiniz. Öncelikle menümüzün salt html halini oluşturalım; &#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62; &#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; &#62; &#60;head&#62; &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=ISO-8859-9&#34; <a href="http://weboutbox.com/jquery-ile-accordion-menu-hazirlayalim/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Neredeyse bir web 2.0 standardı olan accordion menüler sayfalarımızında vazgeçilmezi haline geldi. Şimdi yazacağımız plugin ile accordion menü hazırlamak çok </p>
<p>kolay hala gelecek. Sizlerde üzerinde biraz değişiklikler yaparak istediğiniz yapıda menüleri kolaylıkla oluşturabilirsiniz.</p>
<p>Öncelikle menümüzün salt html halini oluşturalım;</p>
<pre class="brush: html">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-9&quot; /&gt;
&lt;title&gt;Accordion Menü&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div class=&quot;accordion&quot;&gt;
		&lt;ul title=&quot;Baslık bir&quot;&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 1&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 2&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 3&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul title=&quot;Baslık İki&quot;&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 2-1&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 2-2&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 2-3&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul title=&quot;Baslık Üç&quot;&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 3-1&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 3-2&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Madde 3-3&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Sayfamıza jquery.js dosyamızı ekledikten sonra accordion.js adında bir javascript dosyası oluşturalım kendimize.Oluşturduğumuz accordion.js dosyasını </p>
<p>sayfamıza &lt;link&gt; etiketi ile ekledikten sonra kodlarımızı yazmaya başlayalım.</p>
<p>Öncelikle sabitlerimizi oluşturalım</p>
<pre class="brush: javascript">
var divClass = &quot;accordion&quot;;//accorion uygulanacak ul&#039;lerin bulunduğu divin classı
var menuHtml = &quot;&quot;;//sayfadaki mevcut kodları temizledikten sorna kendi kodlarımızı ekleyeceğimiz değişken.
var sonAcikUl = -1;//en son açılan ul&#039;un id&#039;si.Eğer -1 ise henüz hiçbiri açılmamış demektir.
</pre>
<p>Buradaki değişkenlerimizin açıklaması zaten yanlarında mevcut ancak &lt;strong&gt;menuHtml&lt;/strong&gt; üzerinde durmamız sanırım iyi olacaktır. Eğer </p>
<p>menümüzün üzerinde ekstra birşey yer almasını istiyorsak bu değişkene atayabiliriz. Örneğin menümüzün üzerinde menu.jpg adında bir grafik yer almasını </p>
<p>istiyorsak</p>
<pre class="brush: javascript">
var menuHtml = &quot;&lt;img src=&quot;menu.jpg&quot; /&gt;&quot;;
</pre>
<p>şeklinde değiştirebiliriz.</p>
<p>Kodumuzun ilk bölümü hazırlandı. Şimdi sayfamız yüklendiğinde değiştirilecek alanı bularak gerekli işlemleri yapmaya başlamamız gerekmektedir. Bu işlemleri </p>
<p>jQuery’nin $(document).ready fonksiyonu ile başlatıyoruz ;</p>
<pre class="brush: javascript">
$(document).ready(function(){
	var us = $(&#039;div.&#039;+divClass+&#039;&gt;ul&#039;).length;//işleme girecek ul sayısını alıyoruz
	//bunları bir for döngüsü ile spanolustur fonksiyonuna atıyoruz
	for(i=0;i&lt;us;i++)
	{
		spanOlustur(i);
	}
//fonksiyonumuz gerekli işlemleri yaptıktan sonra bize işlevsel html kodlarımız dönüyor
//Bizde bunları en başta belirlediğimiz div&#039;in içeriğine eklemeden önce
//div&#039;imizin içindeki html kodlarını temizliyoruz
//daha sonrada fonksiyonumuzun oltuşturduğu kodları div&#039;imize ekliyerek işlemlerimizi tamamlıyoruz
	$(&#039;div.&#039;+divClass).empty().html(menuHtml);
//accordion menümüz artık hazır ve geriye kalan tek şey ul etiketlerinin bulunduğu divleri kapatmak
	$(&#039;div.acilanDiv&#039;).hide();
});
</pre>
<p>Evet işlemler bitti ve menümüz hazır hayırlı olsun demeyeceğim tabii ki. Burada çağırmış olduğumuz <strong>spanOlustur</strong> fonksiyonumuz tüm </p>
<p>işlevselliği sağlayor. Şimdi o fonksiyonumuzu yazalım.</p>
<p>Not:jQuery’nin en güzel seçicilerinden olan eq’nun burada güzel bir kullanımını göreceğiz.Bu seçicinin ne işe yaradığını kısaca anlatmak gerekirse : </p>
<p><strong>eq</strong> ile istediğimiz bir etiketin istediğimiz sıradaki elemanını seçebiliriz. Biz burada menümüzü oluşturan ul’leri sırası ile seçerek </p>
<p>içerisindeki html kodlarını alıp istediğimiz hale getiriyoruz.</p>
<pre class="brush: javascript">
function spanOlustur(ulSayi)
{
//fonksiyonumuz ile gelen ulSayi&#039;ncı sıradaki ul&#039;u seçiyoruz
//bu elementi ul adında bir değişkene atıyoruz.
	var ul = $(&#039;div.&#039;+divClass+&#039;&gt;ul:eq(&#039;+ulSayi+&#039;)&#039;);
//ulHtml değişkenine ul&#039;e ait html&#039;i atıyoruz
	var ulHtml = ul.html();
//menümüzün başlıklarını oluşturmak için ul&#039;e ait title etiketinin değerini alıyoruz.
	var spanBaslik = ul.attr(&#039;title&#039;);
//şimdi ise menümüzü oluşturuyoruz.
//öncelikle bir div oluşturup class,id ve onclick özelliklerini ayarlıyoruz.
//onclick&#039;de accordionAc diye bir fonksiyonu tetikliyoruz.
//En son olarak da menümüzün başlığını bu dive içerik olarak ekliyoruz.
	var menu = &#039;&lt;div class=&quot;accordionBaslik&quot; id=&quot;menu&#039;+ulSayi+&#039;&quot; onclick=&quot;accordionAc(&#039;+ulSayi+&#039;);&quot;&gt;&#039;+spanBaslik+&#039;&lt;/div&gt;&#039;;
//başlık divinin altına bir div daha ekleyerek onada menümüzü içerik olarak göstereceğiz.
//burada dikkatinizi çekmek istediğim bir nokta var;
//az önce hazırladığımız ulHtml, ul etiketlerinin içerisinde kalan li ve a etiketlerini alıyor sadece
//bu yüzden yeni bir ul etiketi yazmak zorundayız.
	menu    += &#039;&lt;div id=&quot;ul&#039;+i+&#039;&quot; class=&quot;acilanDiv&quot;&gt;&lt;ul class=&quot;accordion&quot;&gt;&#039;+ulHtml+&#039;&lt;/ul&gt;&lt;/div&gt;&#039;;
//yeni bir menu elementimiz hazır olduğuna göre bunu menuHtml değişkenine ekleyebiliriz.
	menuHtml += menu;
}
</pre>
<p>Şu anda menümüz hazır ancak kullanılabilir değil. Sebebiyse tabii ki <strong>accordionAc</strong> fonksiyonunu henüz yazmamış olmamız. Bu fonksiyonumuzuda </p>
<p>yazarak pluginimizi tamamlayalım.</p>
<pre class="brush: javascript">
function accordionAc(id)
{
	if(sonAcikUl!=id)//eğer açık dive tıkladı ise herhangi bir işlem yapmıyoruz.
	{
		if(sonAcikUl==-1)//buradada menüye ilk defa tıklanıp tıklanmadığını kontrol ediyoruz
		{
			$(&#039;div#div&#039;+id).slideDown(250);//eğer ilk tıklama ise sadece açma işlemi yapıyoruz
		}
		else
		{
			$(&#039;div#div&#039;+sonAcikUl).slideUp(250);//son açık olan divi kapatıyoruz
			$(&#039;div#div&#039;+id).slideDown(250);//tıklanan divi açıyoruz
		}
		sonAcikUl = id;
	}
}
</pre>
<p>Artık menümüz kullanıma hazır.</p>
<p>Örnek uygulama için <a href="http://www.weboutbox.com/accordion/accordion.html" target="_blank">buraya</a> tıklayabilirsiniz.</p>
<p>Örneği indirmek içinde <a href="http://www.weboutbox.com/accordion/accordion.rar" target="_blank">buraya</a> tıklayabilirsiniz.</p>
<p>Bir sonraki yazıda görüşmek dileğiyle hoşçakalın.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(39, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 25"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_39_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_39_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/jquery-ile-accordion-menu-hazirlayalim/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Javascript ile basit QueryString</title>
		<link>http://weboutbox.com/javascript-ile-basit-querystring/</link>
		<comments>http://weboutbox.com/javascript-ile-basit-querystring/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 22:00:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[QueryString]]></category>
		<category><![CDATA[request]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=34</guid>
		<description><![CDATA[Tüm internet yazılım dillerinde kullandığımız Request.QueryString malesef Javascript&#8216;de hali hazırda yok. Her zaman gerekmesede işinizin düştüğü zamanlar mutlaka olmuştur. Benim bir projede, proje tamamlandıktan sonra QueryString&#8216;den bilgi çekmem gerekti. Yazılım tarafı tamamlandığı için bir şey yapılması uzun zaman alacağından yazılımcının can simidi olan Javascript&#8217;e başvurmayı denedim ve şimdilerde çok hoşuma giden bir script çıktı ortaya. <a href="http://weboutbox.com/javascript-ile-basit-querystring/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Tüm internet yazılım dillerinde kullandığımız <strong>Request.QueryString</strong> malesef <em><strong>Javascript</strong></em>&#8216;de hali hazırda yok.</p>
<p>Her zaman gerekmesede işinizin düştüğü zamanlar mutlaka olmuştur. Benim bir projede, proje tamamlandıktan sonra <em>QueryString</em>&#8216;den bilgi çekmem gerekti. Yazılım tarafı tamamlandığı için bir şey yapılması uzun zaman alacağından yazılımcının can simidi olan Javascript&#8217;e başvurmayı denedim ve şimdilerde çok hoşuma giden bir script çıktı ortaya.</p>
<p>Şimdi küçük ama işlevsel olan fonksiyonumuzu yazalım;</p>
<pre class="brush: javascript">
//adres çubuğundaki adresi tamamen alıyoruz
var tumAdres=String(this.location);
//adresimizi split ile &quot;?&quot;&#039;den ikiye bölüyoruz
veri=tumAdres.split(&quot;?&quot;)[1];
//verimizi aldığımıza göre kullanalım
//şimdilik alert olarak görüntüleyelim
alert(veri);
</pre>
<p>Bu basit örneğimize <a href="http://weboutbox.com/ornekler/request1.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>Peki bu nasıl bir işlevsellik katabilirki bize? Eğer bir sayfada birden fazla saklı öğeniz (<span style="color: #990000;"><em>display:<span style="color: #3333ff;">none</span></em></span>) varsa işinize yarama ihtimalide vardır.</p>
<p>Kodumuzda biraz değişikliğe gittikten sonraki örneğimizde daha açık bir şekilde anlayacağınıza eminim.</p>
<pre class="brush: javascript">//adres çubuğundaki adresi tamamen alıyoruz
var tumAdres=String(this.location);
//adresimizi split ile &quot;?&quot;&#039;den ikiye bölüyoruz
veri=tumAdres.split(&quot;?&quot;)[1];
//bu veri bir öğenin id&#039;si olsun
//aldığımız id ile bir eleman varmı bakalım
if(document.getElementById(veri){
//eğer var ise display i block olsun
document.getElementById(veri).style.display = &#039;block&#039;;
}</pre>
<p>Bu örneğimizede <a href="http://weboutbox.com/ornekler/request2.html">buradan</a> ulaşabilirsiniz. Burada dikkat etmemiz gereken nokta; javascript kodlarımızın işlem yapılacak olan divlerden sonra yazılması veya window.onload&#8217;a tanımlanmasıdır.</p>
<p>Eğer tam manası ile Reques.QueryString fonksiyonuna ihtiyacınız var ise bunun için biraz zaman ayırmalı veya <a href="http://andrewu.co.uk/tools/request/" target="_blank">http://andrewu.co.uk/tools/request/</a> bu adresi ziyaret etmelisiniz.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(34, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 2"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_34_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_34_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/javascript-ile-basit-querystring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery ile Livesearch</title>
		<link>http://weboutbox.com/jquery-ile-livesearch/</link>
		<comments>http://weboutbox.com/jquery-ile-livesearch/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:39:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[arama]]></category>
		<category><![CDATA[livesearch]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=31</guid>
		<description><![CDATA[John Nunemaker&#8216;ın ilk olarak sadece javascript ile yazdığı, daha sonra Jquery ile desteklediği LiveSearch uygulamasını, John Resig biraz optimize etmiş. LiveSearch John Nunemaker versiyonu, prototype versiyonu. John Resig&#8217;in modifiyeli versiyonu. Hangisi daha iyi, daha performanslı derseniz, şu an için hiç deneme şansım olmadı ve eldeki örneklerden ise bu daha iyi diyemeceğimiz için sytanxı düzgün olan <a href="http://weboutbox.com/jquery-ile-livesearch/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://orderedlist.com/about/" target="_blank">John Nunemaker</a>&#8216;ın ilk olarak sadece javascript ile yazdığı, daha sonra Jquery ile desteklediği LiveSearch uygulamasını, John Resig biraz optimize etmiş.</p>
<ul>
<li>LiveSearch John Nunemaker <a href="http://orderedlist.com/articles/live-search-with-quicksilver-style-for-jquery" target="_blank">versiyonu</a>, prototype <a href="http://orderedlist.com/demos/quicksilverjs/" target="_blank">versiyonu</a>.</li>
<li>John Resig&#8217;in modifiyeli <a href="http://ejohn.org/blog/jquery-livesearch/">versiyonu.</a></li>
</ul>
<p>Hangisi daha iyi, daha performanslı derseniz, şu an için hiç deneme şansım olmadı ve eldeki örneklerden ise bu daha iyi diyemeceğimiz için sytanxı düzgün olan versiyonu seçmek daha mantıklı sanırım.</p>
<p>Li tagları arasında olan arama şemantiğini istediğiniz gibi değiştirebilirsiniz. Aramanın en göz alıcı noktası ise aradığınız (kelime/harf/cümle) betiği harf harf alması.</p>
<p><a href="http://weboutbox.com/wp-content/uploads/2008/07/livesearch-300x250.png" class="lightbox"><img  title="livesearch" src="http://weboutbox.com/wp-content/uploads/2008/07/livesearch-300x250.png" alt="" width="300" height="250"  /></a></p>
<p>Bu ilk bakışta güzel bir örnek ancak kullanıma göre can sıkabilir.<br />
<br clear="left" /></p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(31, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 4"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_31_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_31_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/jquery-ile-livesearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kendi Js Kütüphanemizi Oluşturalım &#8211; 1</title>
		<link>http://weboutbox.com/kendi-js-kutuphanemizi-olusturalim-1/</link>
		<comments>http://weboutbox.com/kendi-js-kutuphanemizi-olusturalim-1/#comments</comments>
		<pubDate>Sun, 11 May 2008 22:39:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[document.getElementById]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript kütüphanesi]]></category>
		<category><![CDATA[javascript libary]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[js libary]]></category>
		<category><![CDATA[kütüphane]]></category>
		<category><![CDATA[libary]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=21</guid>
		<description><![CDATA[Eğer web tasarımı ile ilgileniyorsanız javascript kütüphanelerini duymuş ve hatta kullanmışsınızdır. Jquery, prototype, mootools ve dojo bunların en meşhur olanlarıdır. Bu kütüphaneler ile çok güzel ve gelişmiş js yazılımları yapabileceğimiz gibi javascript işlemlerinde bize bir çok kolaylık sağlamaktadırlar. Ancak birçok kişi, sadece bir kaç div&#8217;i açıp kapatmak için 100-150Kb&#8217;lık kütüphaneleri sayfalarına ekleyerek, sadece performans kaybına <a href="http://weboutbox.com/kendi-js-kutuphanemizi-olusturalim-1/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Eğer web tasarımı ile ilgileniyorsanız javascript kütüphanelerini duymuş ve  hatta kullanmışsınızdır. Jquery, prototype, mootools ve dojo bunların en meşhur  olanlarıdır. Bu kütüphaneler ile çok güzel ve gelişmiş js yazılımları  yapabileceğimiz gibi javascript işlemlerinde bize bir çok kolaylık  sağlamaktadırlar. Ancak birçok kişi, sadece bir kaç div&#8217;i açıp kapatmak için  100-150Kb&#8217;lık kütüphaneleri sayfalarına ekleyerek, sadece performans kaybına  uğramaktadır. Javasript bilgimiz çok ileri seviyede olamasa bile, basit  işlemlerimizi kapsayacak bir kütüphane yazmak en fazla yarım saatimizi  alacaktır. Tabii ki biz geliştikçe paralel olarak kütüphanemizde  gelişecektir.</p>
<p>Şimdi kendi ihtiyaçlarımız doğrultusunda basit bir js kütüphanesi yazmaya  başlayalım.</p>
<p>Kütüphanemizdeki en temel öğe doğal olarak bir DOM referansı olan <span style="font-family: System; color: #bc5f43;">document</span>.<span style="font-family: System; color: #8aceac;">getElementById</span>&#8216;dır. Bir çok  js işleminde ihtiyaç duyduğumuz bu referansa en kolay ve akılda kalıcı şekilde  nasıl ulaşabiliriz? PHP ve Js Kütüphanesi kullananlarımızın alışkın olduğu <span style="font-family: System; color: #ff0000;">$</span> ile ulaşalım. O zaman  kütüphanemizin ilk fonksiyonunu yazalım ;</p>
<pre class="brush: js">
function $(id)//buradada parametre olarak idyi kullanıyoruz
{
      return document.getElementById(id);
}
</pre>
<p><span id="more-21"></span><br />
Bu fonksiyonumuz ile ilgili bir kaç örneğe <a title="$ fonksiyonunu ait bir kaç örnek" href="http://weboutbox.com/ornekler/func$.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>Birinci fonksiyonumuzu oluşturduk. Bu fonksiyonu kullandıkça çok seveceğinize  eminim. Çünkü işlerimizi çok kolaylaştırıyor.</p>
<p>İkinci fonksiyonumuz olan <span style="font-family: System; color: #ff0000;">$v,</span> id&#8217;sini verdiğimiz bir  tag&#8217;ın (input,select,textarea tagları) value&#8217;sunu döndürecek bize.</p>
<pre class="brush: js">
function $v(id)//buradada parametre olarak idyi kullanıyoruz
{
return document.getElementById(id).value;
}
</pre>
<p>Bu fonksiyonumuz ile ilgili bir kaç örneğe <a href="http://weboutbox.com/ornekler/func$v.html">buradan</a> ulaşabilirsiniz.</p>
<p>Burada dikkat çekmek istediğim bir nokta var. Bu fonksiyon ile tagların  sadece değerlerini alabiliyoruz. Yani bir inputun değerini değiştirmek için şu  kodu yazarsak çalışmayacaktır :</p>
<pre class="brush: js">
$v(&#039;id&#039;) = &#039;yenideğer&#039;;
</pre>
<p>Bu işlemi gören bir fonksiyonu, az önce yazdığımız <span style="font-family: System; color: #ff0000;">$</span> fonksiyonundan  türetebiliriz :</p>
<pre class="brush: js">
function $v(id)//buradada parametre olarak idyi kullanıyoruz
{
return document.getElementById(id).value;
}
</pre>
<p>Üçüncü fonksiyonumuz olan <span style="font-family: System; color: #ff0000;">$cssC</span>, önceki fonksiyonlara  göre daha komplike bir yapıya sahip olacak. Bu fonksiyonumuza 3 parametre  yollayarak istediğimiz HTML etiketi üzerinde CSS değişikliklerini  gerçekleştireceğiz. Bu fonksiyonumuzda paramaetre sayımız fazla olduğu için  öncelikle parametrelerimizi açıklayalım ;</p>
<p>id : Üzerinde değişiklik yapmak istediğimiz etiketimizin tanımlayıcı değeri.<br />
tag : Etiketimizin üzerinde değişiklik yapmak istediğimiz CSS etiketini  temsil ediyor.<br />
yenideger : CSS etiketinin alacağı yeni değeri temsil  ediyor.</p>
<p>Fonksiyonumuz aşağıdaki gibi ;</p>
<pre class="brush: js">
function $cssC(id,tag,yenideger)
{
satir = &#039;$(id).style.&#039;+tag+&#039; = yenideger&#039;; //fonksiyonumuzu satir adlı bir degisken atıyoruz
eval(satir); //eval ile satir değişkenini çalıştırıyoruz ve fonksiyonumuz görevini yerine getiriyoruz
}
</pre>
<p>Bu fonksiyonumuz ile ilgili bir kaç örneğe <a href="http://weboutbox.com/ornekler/func$cssC.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>Başlangıç olarak 3 fonksiyon tanımlamış bulunmaktayız. Bir sonraki yazımızda fonksiyonlarımızı biraz daha komplike hala getirerek devam etmek dileğiyle.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(21, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 4"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_21_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_21_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/kendi-js-kutuphanemizi-olusturalim-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phatfusion ile js</title>
		<link>http://weboutbox.com/phatfusion-ile-js/</link>
		<comments>http://weboutbox.com/phatfusion-ile-js/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 20:15:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[phatfusion]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=4</guid>
		<description><![CDATA[phatfusion.net adresinde sıklıkla kullanılan bazı web uygulamalarına alternatif hazırlanmış bazı uygulamalar olduğunu bildirgec.org‘dan öğrendim. Ehh adamlar yapmışken bakmamak olmaz dedim.İncelemelerim sonunda gördümki harbiden çok güzel sistemler, nerede ise örnek aldıklarından başarılılar. Uygulamaların en güzel yanları ise gayet pratik olmaları. Uygulamaları sıralamak gerekirse; Lightbox : herkesin bildiği ve şu an sitede de kullandığım resim gösterim aracının <a href="http://weboutbox.com/phatfusion-ile-js/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phatfusion.net/" target="_blank">phatfusion.net</a> adresinde sıklıkla kullanılan bazı web uygulamalarına alternatif hazırlanmış bazı uygulamalar olduğunu <a href="http://www.bildirgec.org/" target="_blank">bildirgec.org</a>‘dan öğrendim.</p>
<p>Ehh adamlar yapmışken bakmamak olmaz dedim.İncelemelerim sonunda gördümki harbiden çok güzel sistemler, nerede ise örnek aldıklarından başarılılar. Uygulamaların en güzel yanları ise gayet pratik olmaları.</p>
<p>Uygulamaları sıralamak gerekirse;</p>
<ul>
<li><a href="http://www.phatfusion.net/lightbox/index.htm" target="_blank">Lightbox</a> : herkesin bildiği ve şu an sitede de kullandığım resim gösterim aracının bir benzeri. Bence gayet başarılı.</li>
<li><a href="http://www.phatfusion.net/imagemenu/index.htm" target="_blank">image menu</a>: Bu uygulama ise flasha rakip bir css uygulaması.Flash kullanmak istemeyenler için gayet uygun bir çalışma.</li>
<li><a href="http://www.phatfusion.net/formvalidation/index.htm" target="_blank">Validate</a>: Form kontrollerine js ile farklı bir açıdan bakmışlar. .NET’teki form kontrollerine benzettim ben şekil olarak ama, sayfa ortasında dandun seslerle çıkan uyarılar yerine böyle bir uygulama sanırım daha sempatik olur</li>
<li><a href="http://www.phatfusion.net/roundedcorners/index.htm" target="_blank">Rounded Corners</a>: Resim ve tabloların köşelerine ovalleştirmek için kullanılabilecek çok hoş bir js-css çalışması.</li>
<li><a href="http://www.phatfusion.net/sortabletable/index.htm" target="_blank">Sortable Table</a>: Adından da anlayacağınız gibi tablo içinde sıralama uygulaması</li>
</ul>
<p>İnşallah ilerleyen zamanlarda bunlarla ilgili ufak tefek scriptlere yer vereceğim.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(4, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 2"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_4_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_4_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/phatfusion-ile-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Js ile Div Oluşturmak</title>
		<link>http://weboutbox.com/js-ile-div-olusturmak/</link>
		<comments>http://weboutbox.com/js-ile-div-olusturmak/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 20:27:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[createElement]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[document.createElement]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[oluşturmak]]></category>
		<category><![CDATA[setAttribute]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=13</guid>
		<description><![CDATA[Geniş bir yönetim paneli yazıyordum. Sitenin fotoğraf alanında thumbnailler var ve resim seçiminden önce büyük hallerine gözatma ihtiyacı çıktı ortaya. Ayrı sayfada açılmasını istemiyordum ve sayfa öncelikle bir div ekleyerek onun içine innerHTML ile resmi gösterim dedim. Daha sonra bunu AJAX ile yapmaya karar verdim. Ancak iş ilerledikçe ilerliyor, ihtiyaçlar çıktıkça kodları baştan yazıyordum. En <a href="http://weboutbox.com/js-ile-div-olusturmak/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Geniş bir yönetim paneli yazıyordum. Sitenin fotoğraf alanında thumbnailler var ve resim seçiminden önce büyük hallerine gözatma ihtiyacı çıktı ortaya. Ayrı sayfada açılmasını istemiyordum ve sayfa öncelikle bir div ekleyerek onun içine <em>innerHTML </em>ile resmi gösterim dedim. Daha sonra bunu AJAX ile yapmaya karar verdim. Ancak iş ilerledikçe ilerliyor, ihtiyaçlar çıktıkça kodları baştan yazıyordum. En sonunda tüm ihtiyaçları belirleyerek son kez kodlamaya karar verdim.</p>
<p>Bu çalışma sırasında hazırladığım ve bir çok kişinin işine yarayacağını düşündüğüm bir kodu anlatacağım.</p>
<p>Başlığımızın konusu olan <strong>Js</strong> ile <strong>Div</strong> oluşturan kod şöyle</p>
<pre class="brush: js">
function yap(){
var varmi = document.getElementById(’d&#039;);&lt;em&gt;//d id’li bir dokümanı tanımlıyoruz&lt;/em&gt;
if (!varmi){ // eğer bu döküman yok ise oluşturacağız
var newdiv = document.createElement(’div’); //&lt;em&gt;burada bir adet div oluşturuyoruz&lt;/em&gt;
newdiv.setAttribute(’id’, “d”);//id’sini d olarak tanımlıyoruz
newdiv.style.width = 300;//genişliğini belirliyoruz
newdiv.style.height = 300;//yüksekliğini belirliyoruz
newdiv.style.position = “absolute”;//pozisyonunu absolute olarak belirliyoruz
newdiv.style.left = 150; //sol boşluğu ayarlıyoruz
newdiv.style.top = 150; //üst taraf boşluğu
newdiv.style.background = “#ff”; //arkaplan rengini belirliyoruz
newdiv.style.border = “4px solid #000″; // kenarlık rengi ve stili
newdiv.style.padding = “5px”; //div dolgusu
document.body.appendChild(newdiv); // en son olarak oluşturduğumuz div’i dosyamıza ekliyoruz
}
}
</pre>
<p><span id="more-13"></span></p>
<p>Yukarıdaki kod ile resmimizi göstereceğimiz <strong>div</strong>‘i oluşturmuş olduk.Şimdide bu div’in içerisine 1 adet resim tag’ı oluşturalım.</p>
<pre class="brush: js">
function resimac(adres,id){
var resim =  document.createElement(’img’); // bir img tagıoluşturuyoruz
resim.setAttribute(’src’,adres); // src’sunu adres diye bir değişkene atıyoruz
resim.setAttribute(’id’,&#039;res’); //id’sini res olarak belirliyoruz
var veri = document.getElementById(’d&#039;).appendChild(resim); //en son olarak id’si &lt;em&gt;d &lt;/em&gt;olan bir element’e id’si res olan resim tagımızı ekliyoruz
}
</pre>
<p>Resim açma işlemlerimiz tamamlanmış bulunuyor. Bu işlemlerin ardından, açmış olduğumuz div’i ve içerisindeki resmi yok edecek bir fonksiyon daha yazalım</p>
<pre class="brush: js">
function sil(id) {
var silinecek = document.getElementById(id); // silinecek nesneyi belirliyoruz
document.body.removeChild(silinecek); // en son olarak nesneyi siliyoruz
}
</pre>
<p><strong>Dosyalar;</strong><br />
<a title="resimAc.js Dosyasını indirmek için tıklayınız" href="http://fatih.weboutbox.com/ornekler/resimac/resimAc.js" target="_blank">resimAc.js<br />
</a><a href="http://fatih.weboutbox.com/ornekler/resimac/" target="_blank">index.html</a></p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(13, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 6"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_13_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_13_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/js-ile-div-olusturmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Açılan-Kapanan Menü</title>
		<link>http://weboutbox.com/acilan-kapan-menu/</link>
		<comments>http://weboutbox.com/acilan-kapan-menu/#comments</comments>
		<pubDate>Sat, 07 Apr 2007 20:22:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=9</guid>
		<description><![CDATA[Dün itibariyle ilk .Net projeme başladım. Biraz geniş bir proje, Sql sorgularından 1 tanesi 3 kb ve sanırım 20 taneye yakın yazarız. Projede frame ve açılan menülere ihtiyacımız vardı. del.icio.us‘ umda tüm divleri kapat diye bir dil olduğu geldi aklıma. Bu arada o kodda bildirgec.org‘ da yer alıyordu, buraya tıklayarak koda ulaşbilirsiniz. Neyse kodumuza gelelim. <a href="http://weboutbox.com/acilan-kapan-menu/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Dün itibariyle ilk <a href="http://www.asp.net/" target="_blank"><strong>.Net</strong></a> projeme başladım. Biraz geniş bir proje, Sql sorgularından 1 tanesi 3 kb ve sanırım 20 taneye yakın yazarız. Projede frame ve açılan menülere ihtiyacımız vardı. <a href="http://del.icio.us/steasp" target="_blank">del.icio.us</a>‘ umda tüm divleri kapat diye bir dil olduğu geldi aklıma. Bu arada o kodda <a href="http://www.bildirgec.org/" target="_blank">bildirgec.org</a>‘ da yer alıyordu, <a href="http://www.bildirgec.org/yazi/tum-divleri-gizlemek" target="_blank">buraya</a> tıklayarak koda ulaşbilirsiniz.</p>
<p>Neyse kodumuza gelelim. Kodumuz yazılış amacı olarak tüm divleri kapatmaya yönelik ve aşağıdaki gibi orjinali ;</p>
<pre class="brush: js">function divkapat(islem) {
var tum_divler = document.getElementsByTagName(’div’); //divleri tanımladık
var tum_divler_adet = tum_divler.length;//kaç adet div var ona bakıyoruz
var i; //değişkenimizi tanımladık
for(i=0; i&amp;amp;amp;amp;amp;lt; tum_divler_adet; i++) {
tum_divler[i].style.display = islem
}  //bir for döngüsü ile divlerimizin style.display özelliğini divkapat fonksiyonunda gönderdiğim parametre ile değiştirdik.
}
</pre>
<p>&lt; a href=# onClick=divkapat(’none’); &gt;açkapa&lt; /a&gt;<br />
&lt; a href=# onClick=divkapat(”); &gt;açkapa&lt; /a&gt;</p></blockquote>
<p>Bu haliyle bir işime yaramıyor .Neden derseniz ; son zamanlarda Tablosuz tasarıma takmış biri olarak, tüm divlerimin kapanması demek sayfanın bembeyaz bir hal alması demektirki bunu hiç istemem. Menü başlıklarını <strong>div</strong>, açılacak kısımları <strong>span </strong>olarak tanımladım. Javascript kodumuzuda şu şekilde düzenledim ;</p>
<pre class="brush: js">function divkapat(islem,oge,ogeislem) //yukarıdaki koddan farklı ama açıklamasını aşağıda yapacağım
{
var tum_divler = document.getElementsByTagName(’span’);
var tum_divler_adet = tum_divler.length; var i;
for(i=0; i&amp;amp;amp;amp;amp;lt; tum_divler_adet; i++) {
tum_divler[i].style.display = islem
}
document.getElementById(oge).style.display = ogeislem ;
}
</pre>
<p>İlk kodumuzda fonksiyonumuz tek parametre ile çağrılırken ben bu sayıyı 3 ‘e çıkardım. Sebebine gelmeden önce 1 adet menü örneğinin kodlarınıda yazalım</p>
<pre class="brush: xhtml">
&lt;div id=&quot;1″ class=&quot;ac&quot; onclick=&quot;divkapat(&#039;none&#039;,&#039;1a&#039;,&#039;&#039;);&quot;&gt;bu 1&lt;/div&gt;
&lt;span id=&quot;1a&quot; class=&quot;acilan&quot; style=&quot;display: none&quot;&gt;Aa 1a alt menu&lt;/span&gt;
&lt;div id=&quot;2″ class=&quot;ac&quot; onclick=&quot;divkapat(&#039;none&#039;,&#039;2b&#039;,&#039;&#039;);&quot;&gt;bu 2&lt;/div&gt;
&lt;span id=&quot;2b&quot; class=&quot;acilan&quot; style=&quot;display: none&quot;&gt;Aa 2b alt menu&lt;/span&gt;
&lt;div id=&quot;3″ class=&quot;ac&quot; onclick=&quot;divkapat(&#039;none&#039;,&#039;3c&#039;,&#039;&#039;);&quot;&gt;bu 3&lt;/div&gt;
&lt;span id=&quot;3c&quot; class=&quot;acilan&quot; style=&quot;display: none&quot;&gt;Aa buda 3c alt menu &lt;/span&gt;
</pre>
<p>3 parametreli fonksiyon tetikleyicimiz şu satırlarda =<strong> onClick=”divkapat(’none’,&#8217;1a’,”)” </strong><br />
Neden 3 parametreli,</p>
<ul>
<li>1. parametre tüm <strong>span</strong>ları kapatıyor.</li>
<li>2. parametre işlem yapılaacak olan span <strong>Id</strong>’sini belirliyor</li>
<li>3. parametre, 2. parametrede belirtilen span’ın display değerini alıyor</li>
</ul>
<p>Sanırım 3. parametrenin boş olduğuna dikkat etmişsinizdir. Başlangıç değer olarak <strong>“display:none” </strong>alıyorlar,  görünür hale getirmek için <strong>”</strong> kullanıyoruz. Peki boş göndereceksek neden 3. parametreyi yolluyoruz. İşimizi tam yapmak için açtığımız menülere birerde kapatma butonu bırakırız diye düşünerek yaptım <img class="wp-smiley" src="http://fatih.weboutbox.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /> Kapatma butonun linkide şöyle olacak <strong>onClick=”divkapat(’none’,&#8217;1a’,&#8217;none’)” </strong>.</p>
<p>Kullanılabilir haline ulaşmak için <a href="http://fatih.weboutbox.com/ornekler/net/acilanmenu.html" target="_blank"><strong>Buraya</strong></a> tıklayınız.</p>
<p>Örnek kodları İndirmek için <a href="http://fatih.weboutbox.com/ornekler/zip/acilanmenu.rar" target="_blank">Buraya </a>tıklayınız.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(9, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 10"
                class="thanks_button thanks_large thanks_grey1"
                style="background-image:url(http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/thanks_large_grey1.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ed008c;"
                id="thanksButton_9_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_9_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://weboutbox.com/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://weboutbox.com/acilan-kapan-menu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
