




<?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; each</title>
	<atom:link href="http://weboutbox.com/tag/each/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>jQuery &#8211; each</title>
		<link>http://weboutbox.com/jquery-each/</link>
		<comments>http://weboutbox.com/jquery-each/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 01:26:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[each]]></category>

		<guid isPermaLink="false">http://blog.weboutbox.com/?p=79</guid>
		<description><![CDATA[Çok geçte olsada jQuery&#8217;i temelden ve elimden geldiği kadar anlatmaya karar verdim.(Eğer &#8220;jQuery ne&#8221; diye bir soru oluştu ise aklınızda erhan burhan&#8216;ın sitesindeki güzel yazısını tavsiye ederim) Sanırım sadece yazı değil, yanında videolar ile anlatımlarımda olacak. jQuery dökümanları ile paralel olarak yazmaya çalısacağım ancak içerisinde atlayacağım alanlar olacak. Orta hatta ortanın üstü bir jQuery bilgisine <a href="http://weboutbox.com/jquery-each/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Çok geçte olsada jQuery&#8217;i temelden ve elimden geldiği kadar anlatmaya karar verdim.(Eğer &#8220;jQuery ne&#8221; diye bir soru oluştu ise aklınızda <a href="http://www.eburhan.com" target="_blank">erhan burhan</a>&#8216;ın sitesindeki güzel yazısını tavsiye ederim)</p>
<p>Sanırım sadece yazı değil, yanında videolar ile anlatımlarımda olacak.</p>
<p>jQuery dökümanları ile paralel olarak yazmaya çalısacağım ancak içerisinde atlayacağım alanlar olacak. Orta hatta ortanın üstü bir jQuery bilgisine sahip olmanızı sağlayana kadar yazmaya çalışacağım. Bu bağlamda ilk yazımız jQuery&#8217;nin en güzel özelliklerinden olan each olacak.</p>
<p><strong>each :</strong></p>
<p>Temelde olsa yazılım bilginiz var ise zaten bu özelliğin ne işe yaradığını çoktan anlamışsınızdır. Foreach&#8217;in jQuery versiyonuda diyebiliriz.</p>
<p><strong><span style="text-decoration: underline;">Peki ne iş yapar bu each? </span></strong></p>
<p>Belirlediğiniz seçicilerden oluşan bir dizideki elemanların içerisinde teker teker dönmemizi sağlar. Örnekleyerek devam edersek sanırım daha rahat anlaşılabilir.</p>
<p>Bir sayfamız var, içerisindeki tüm inputları seçeceğiz ve each ile bunların kenar çizgilerini kırmızı yapacağız.</p>
<p>Seçici Kodlar :</p>
<pre class="brush: js">
    function sec(){
        $(&#039;input&#039;).each(function(){
	        this.style.border = &quot;solid 1px #cc0000&quot;;
        });
    }
</pre>
<p>Sayfanın örneğine <a href="/jquery/each.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>İyide bunu zaten daha kısa bir kod ile yapabiliriz neden bu yolu seçtik şeklinde sorabilirsiniz. Bu örnek için aslında each&#8217;i kullanmanın bir anlamı yok. Bu örnekte <strong>each </strong>ile tüm öğeleri seçebildiğimizi görmüş olduk. Eğer sayfadaki &#8220;seç&#8221; butonuna tıklarsanız kendiside dahil tüm inputları seçtiğini göreceksiniz. Each&#8217;in bize yararını anlamak için bir sonraki örneğimize geçelim.</p>
<p>Bu örneğimizdeki inputlarımızın 3 farklı yazı rengi bulunmaktadır. Biz bunlardan siyah olanlarının mavi olmasını istiyoruz. Bunun için tüm inputları öncelikle each ile bir diziye alacağız ve daha sonrada yazı renklerini kontrol edip siyah olanları mavi yapacağız.</p>
<p>Seçici Kodlar :</p>
<pre class="brush: js">
    function sec(){
        $(&#039;input&#039;).each(function(){
            var yaziRengi = this.style.color; //yazi rengini alıyoruz
            if(yaziRengi == &quot;black&quot;){ //yazı rengi siyahmı kontrol ediyoruz
	            this.style.color = &quot;blue&quot;; //siyah olanları mavi olarak atıyoruz
            }
        });
    }
</pre>
<p>Sayfanın örneğine <a href="/jquery/each2.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>Bu örnek ile aklınızda birşeylerin oluştuğuna inanıyorum.</p>
<p>Each&#8217;i amacına uygun nasıl kullanacağımıza geldik. Bir formumuz olduğunu düşünelim ve biz bu formda hiçbir alanın boş bırakılmamasını istiyoruz. Form submit edildiğinde boş alan varmı yokmu kontrol edelim. Eğer boş alanlar var ise kenarlık ve arkaplan renklerini değiştirelim.</p>
<p>Seçici Kodlar :</p>
<pre class="brush: js">
function sec(){
    $(&#039;input&#039;).each(function(){ //tüm inputları bir diziye atıyoruz

    //inputun değerini alıyoruz ve değerdeki boşluları siliyoruz
    //burada boşluk silmemiz normal değeri etkilemeyeceği gibi
    //gibi boş veri kontrolünü sağlayacaktır.
	if(this.type==&quot;text&quot;){//tipi text olan inputları seçiyoruz
        var inputValue = this.value.replace(&quot; &quot;,&quot;&quot;);

            if(inputValue == &quot;&quot;){//eğer değer boş ise
                $(this).css({&quot;border&quot;:&quot;solid 1px #c00&quot;,&quot;background-color&quot;:&quot;#c00&quot;,&quot;color&quot;:&quot;#fff&quot;});
            //üzerinde işlem yaptığımız inputun stilini değiştiriyoruz.
            }
            else //eğer veri boş değil ise daha önceden kontrolde boş gelme ihtimaline karşın
            //input&#039;un şeklini eski hale getiriyoruz.
            {
                $(this).css({&quot;border&quot;:&quot;solid 1px #000&quot;,&quot;background-color&quot;:&quot;#fff&quot;,&quot;color&quot;:&quot;#000&quot;});
            }
        });
    }
}
</pre>
<p>Sayfanın örneğine <a href="/jquery/each3.html" target="_blank">buradan</a> ulaşabilirsiniz.</p>
<p>Yukarıdaki örnekleri jQuery&#8217;nin seçicileri ile daha kısa bir şekilde yapmamızda mümkün ancak konumuz <strong>each </strong>olduğu için uzunda olsa biz bu yolu tercih ettik. Çünkü seçiciler sayesinde elde edemeyeceğimiz veriler aracılığı ile çok daha etkili çözümler üretebileceğimizi ileride göreceksiniz.</p>
<p>Yukarıda çok kısa bir şekilde yaptığımız işlemleri jQuerysiz yapsak emin olun çok daha uzun sürecekti.</p>
<p>Sorularınız için sağdaki iletişimin altındaki soru sor ile bana iletebilirsiniz.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(79, '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_79_2" title="Click to left &ldquo;Thanks&rdquo; for this post"/></div><div id="ajax_loader_79_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-each/feed/</wfw:commentRss>
		<slash:comments>2</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>
	</channel>
</rss>
