




<?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/kategori/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 Validation</title>
		<link>http://weboutbox.com/jquery-ile-validation/</link>
		<comments>http://weboutbox.com/jquery-ile-validation/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 08:16:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[required]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=69</guid>
		<description><![CDATA[Jquery ile bir çok validation (doğrulama) plugin&#8217;i bulmamız mümkün. Ancak küçük ve orta boyutlu projelerde kendimize has ve daha küçük boyutlu doğrulama ihtiyaçlarımız doğabilir. Kendi yazdığımız kodlar her zaman için daha rahat kontrol altında tutulabilir diye düşünüyorum. Jquery ile bir formda yer alan input elemanlarından &#8220;type=text&#8221; yani tipi yazı olanları kapsayan bir script yazalım. Doğrulama <a href="http://weboutbox.com/jquery-ile-validation/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Jquery ile bir çok validation (doğrulama) plugin&#8217;i bulmamız mümkün. Ancak küçük ve orta boyutlu projelerde kendimize has ve daha küçük boyutlu doğrulama ihtiyaçlarımız doğabilir. Kendi yazdığımız kodlar her zaman için daha rahat kontrol altında tutulabilir diye düşünüyorum.</p>
<p>Jquery ile bir formda yer alan input elemanlarından &#8220;type=text&#8221; yani tipi yazı olanları kapsayan bir script yazalım. Doğrulama esnasında ihtiyacımız olan 3 şey ;</p>
<pre class="brush: html">
&lt;ul&gt;
	&lt;li&gt;O elemanın boş olup olamayacağı&lt;/li&gt;
	&lt;li&gt;Boş değil ise kaç karakterden az olamayacağı&lt;/li&gt;
	&lt;li&gt;Özelleştirilmiş hata mesajı&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Oluşturduğumuz standart inputlarda bu alanlar tabii ki yer almamaktadır. Biz kendimiz oluşturmalı yada var olan attributeleri(özellikleri) kendimize göre kullanmalıyız.</p>
<p>Ben elemanın value(değer) kontrolü için <strong>required</strong>(gerekli) diye bir özellik eklemeyi tercih ettim. En az kaç karakter olacağını ise <strong>rel</strong> özelliğinden belirleyeceğim.Özelleştirilmiş hata mesajı için ise <strong>hata</strong> özelliğini kullanacağız.</p>
<p>Örnek input kodumuz :</p>
<p><img src="http://weboutbox.com/wp-content/uploads/2009/03/input.jpg" alt="" /></p>
<p>HTML tarafında yapmamız gerekenler bu kadar. Asıl konumuz olan js tarafında ise jQuery ile hiç zorlanmadan fonksiyonlarımızı yazabileceğiz. 3 farklı fonksiyon yazmamız gerekecek.</p>
<pre class="brush: html">
&lt;ol&gt;
	&lt;li&gt;Value kontrol işlemleri için&lt;/li&gt;
	&lt;li&gt;Hata mesajı göstermek için&lt;/li&gt;
	&lt;li&gt;Hata mesajını ekrandan silmek için&lt;/li&gt;
&lt;/ol&gt;
</pre>
<p>1. Fonksiyonumuz : <em><strong>inputValueKontrol</strong></em></p>
<p>Kısaca yapacaklarımızı anlatmak gerekirse : Öncelikle tüm inputları foreach ile döngü içerisine alarak kontrol ediyoruz. Required değeri 1 olanların valuelarına bakıyoruz. Eğer value uzunluğu (length) rel değerinden az ise bir hata mesajı çağırıyoruz yoksa işleme devam ediyoruz.</p>
<p>Kodlarımızı kısaca açıklayalım. İlk fonksiyonumuz olan <strong>inputValueKontrol</strong> ile başlayalım.</p>
<p><strong>$(&#8216;input&#8217;).each(fucntion(){}); </strong> ile tüm inputları bir diziye atadıktan sonra bir döngü içerisinde tek tek inceleyeceğiz.<br />
Döngümüz başladıktan sonra incelemekte olduğumz inputun <strong>required</strong> özelliğinin 1 olup olmadığını kontrol ediyoruz. Peki bir inputun özelliklerini nasıl alırız :</p>
<p><strong>$(this).attr(&#8220;required&#8221;)</strong> şeklinde, bulunduğumuz input&#8217;un attributelarından(özelliklerinden) istediğimize ulaşabiliriz.</p>
<p><strong>if($(this).attr(&#8220;required&#8221;)==&#8221;1&#8243;) </strong>satırı ile validation&#8217;a açık olan inputları seçiyoruz.</p>
<p><strong>var tur = $(this).attr(&#8220;rel&#8221;);<br />
var hata = $(this).attr(&#8220;hata&#8221;); </strong>Burada <strong>tur </strong>istenilen verinin uzunluğunu <strong>hata </strong>ise  istenilen veri uzunluğuna erişilmediği zaman gösterilecek hatayı dönderecektir bize. Eğer hata mesajımız yok ise daha önceden belirlediğimiz mesajı göstermesi için şu satırları ekleyelim :</p>
<p><strong>if(!hata){hata = &#8220;Bu alanı boş bırakamazsınız&#8221;;}</strong></p>
<p>Fonksiyonumuzun çalışmaya başladığı nokta input&#8217;un onblur event&#8217;ıdır.</p>
<pre class="brush: js">$(this).blur(function(){});</pre>
<p>Fonksiyonumuz başladığına göre gerekli kontrollerimize başlayabiliriz. Öncelikle <strong>tur</strong> değişkenimizin varlığına göre bir kontrol yapıyoruz ve <strong>required </strong>değeri 1 iken rel değeri 1&#8242;den büyük ve boş değilse yapılacakları belirlemek için şu satırları ekliyoruz :</p>
<pre class="brush: js">if(tur&amp;gt;1 &amp;amp; tur != &quot;&quot;){}</pre>
<p>İstenilen değer 1&#8242;den büyük ve boş değilse değeri kontrol ediyoruz. Eğer değer uzunluğu istenilen uzunluktan büyük değilse hata mesajını gösteriyoruz ve input&#8217;un kenarlıklarını şekillendiriyoruz.</p>
<pre class="brush: js">
var thisValue = $(this).val();
var thisValueLength = thisValue.length;
if(thisValueLength&amp;lt;tur){
$(this).css(&quot;border&quot;,&quot;solid 1px #f00&quot;);
hataMesaj(hata);
}else{
$(this).css(&quot;border&quot;,&quot;1px solid #C0C0C0&quot;);
hataMesajiSil();
}
</pre>
<p>Eğer<strong> </strong>değerler doğru isede input&#8217;un kenarlıklarını eski haline çeviriyoruz ve mevcut olan hata mesajını siliyoruz.</p>
<p>Birde tur (yani rel) değerinin olmadığı durumlar var. Bu inputların değerinin boş olamayacağı anlamına geliyor. Aynı işlemleri rel&#8217;i 1 kabul ederek tekrar uyguluyoruz.</p>
<pre class="brush: js"> var thisValue = $(this).val();
var thisValueLength = thisValue.length;
if(thisValueLength==0){
$(this).css(&quot;border&quot;,&quot;solid 1px #f00&quot;);
hataMesaj(hata);
}else{
$(this).css(&quot;border&quot;,&quot;1px solid #C0C0C0&quot;);
hataMesajiSil();
}
</pre>
<p>Inputların değer kontrol işlemlerine ait kodların inputValueKontrol fonksiyonunda olduğunu söylemiştik. Bu fonksiyona ait kodlar aşağıdaki gibidir.</p>
<p>Şimdi hata mesajlarını ekrana yazdıran fonksiyonumuz <strong>hataMesaj</strong>&#8216;ı yazalım.Bu fonksiyonun mantığı çok basit. Tek parametre ile gösterilecek mesajı alıyoruz ve bunu bir div etiketinin içerisine ekledikten sonra sayfaya ekliyoruz. Ekstra olarak yaptığımız tek işlem bu div etiketinin sayfada ekli olup olmadığını kontrol etmek. Eğer daha önceden eklenilmiş bir etiket var ise sadece içeriğini değiştiriyoruz ve en son hata mesjını ekliyoruz. En son olarakda bu mesajın 30 saniye sonra kendisini imha etmesini sağlıyoruz <img src='http://weboutbox.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En son fonksiyonumuz ise ekrana yazdığımız hata mesajını kaldırma fonksiyonu. Bunu açıklamaya sanırım gerek yok.</p>
<p>Örnek uygulamaya <a href="/ornekler/validation.html">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(69, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 7"
                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_69_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_69_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-validation/feed/</wfw:commentRss>
		<slash:comments>1</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>IPhone&#8217;da Jquery&#8217;i seçti</title>
		<link>http://weboutbox.com/iphone-jquery/</link>
		<comments>http://weboutbox.com/iphone-jquery/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 06:56:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[İnternet]]></category>
		<category><![CDATA[IPhone]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=30</guid>
		<description><![CDATA[Iphone&#8217;u birçoğumuz biliyoruz, bilmeyenlerde Vodafone&#8216;un kampanyası ile haberdar oldu sanırım. IPhone bildiğiniz gibi OS X mobile işletim sistemi kullanıyor. Hangi javascripti destekleyeceklerini en azından ben merakla bekliyordum. Bugün okuduğuma göre Jquery 1.1.3.1 ile IPhone&#8216;un seçimi olmayı başarmış. Başarmış diyorum çünkü IPhone 2 piyasaya çıkalı 2 hafta olmadan 3-4 milyon arasında sattı bile. Yani piyasada gerçekten <a href="http://weboutbox.com/iphone-jquery/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Iphone&#8217;u birçoğumuz biliyoruz, bilmeyenlerde <a href="http://www.Vodafone.com.tr" target="_blank">Vodafone</a>&#8216;un kampanyası ile haberdar oldu sanırım.</p>
<p><a href="http://www.apple.com/iphone/" target="_blank">IPhone</a> bildiğiniz gibi OS X mobile işletim sistemi kullanıyor. Hangi javascripti destekleyeceklerini en azından ben merakla bekliyordum. Bugün okuduğuma göre <a href="http://www.jquery.com" target="_blank">Jquery 1.1.3.1</a> ile <a href="http://www.apple.com/iphone/" target="_blank">IPhone</a>&#8216;un seçimi olmayı başarmış. Başarmış diyorum çünkü <a href="http://www.apple.com/iphone/" target="_blank">IPhone</a> 2 piyasaya çıkalı 2 hafta olmadan 3-4 milyon arasında sattı bile. Yani piyasada gerçekten çok önemli yer edinen bir telefonun(kendi üzerinde tarayıcısı olan) hangi kütüphaneyi seçeceği bizler için önemli.</p>
<p>2 hafta önce aldığım karar ile <a href="http://www.jquery.com" target="_blank">Jquery</a>&#8216;e geçmiş olan ben bu karardan oldukça memnunum.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(30, 'You left &ldquo;Thanks&rdquo; already for this post')" value="Teşekkürler: 1"
                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_30_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_30_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/iphone-jquery/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>
