<?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>Fatih Hayrioğlu&#039;nun not defteri &#187; ipuçları</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/ipuclari/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fatihhayrioglu.com</link>
	<description>{ CSS, HTML ve Javascript }</description>
	<lastBuildDate>Thu, 09 Feb 2012 08:44:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2012</generator>
		<item>
		<title>jQuery ipuçları &#8211; 3</title>
		<link>http://www.fatihhayrioglu.com/jquery-ipuclari-3/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ipuclari-3/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 22:10:35 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[ipuçları]]></category>
		<category><![CDATA[live()]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[size()]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1785</guid>
		<description><![CDATA[Jquery ipuçları &#8211; 1 Jquery ipuçları &#8211; 2 jQuery ipuçlarını yayınlamaya devam ediyorum. 1- Dinamik oluşturulan elementlere live() ile olay atama Sayfaya dinamik olarak eklenen içeriklerde veya ajax ile doldurduğumuz içeriklerdeki elemanlara bir olay atadığımızda(click, mouseover vd.) çalışmayacaktır. jQuery geliştiricileri bunun için live() fonksiyonunu geliştirmiş. 2 &#8211; Tarayıcı Penceresinin Boyutlarını Değişmesini Yakalamak Belki ara sıra [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/jquery-ipuclari/">Jquery ipuçları &#8211; 1</a><br />
  <a href="http://www.fatihhayrioglu.com/jquery-ipuclari-2/">Jquery ipuçları &#8211; 2</a></p>
<p>jQuery ipuçlarını yayınlamaya devam ediyorum. </p>
<h3>1- Dinamik oluşturulan elementlere live() ile olay atama</h3>
<p>Sayfaya dinamik olarak eklenen içeriklerde veya ajax ile doldurduğumuz içeriklerdeki elemanlara bir olay atadığımızda(click, mouseover vd.) çalışmayacaktır. jQuery geliştiricileri bunun için live() fonksiyonunu geliştirmiş.</p>
<pre class="brush: jscript; title: ; notranslate">
$('a.acilSusam').live('mouseover', function() {
 // yapilacak islemler
});
</pre>
<h3>2 &#8211; Tarayıcı Penceresinin Boyutlarını Değişmesini Yakalamak</h3>
<p>Belki ara sıra lazım olacak bir kod ama bazen gerekiyor işte. Pencere boyutu her değiştiğine bazı işlemleri yapmak sistemimizi yorabilir diye setTimeout yardımı ile belli aralıklarla bunu yaptırıyoruz.</p>
<pre class="brush: jscript; title: ; notranslate">
function pencereBoyutuDegisti() {
	alert(&quot;Değişti&quot;);
};

var resizeTimer = null;
$(window).bind('resize', function() {
    if (resizeTimer) clearTimeout(resizeTimer);
    resizeTimer = setTimeout(pencereBoyutuDegisti, 100);
});
</pre>
<h3>3  &#8211; Element miktarını bulmak</h3>
<p>Bir dokümanda seçilen elemandan kaç adet olduğu bulmak için;</p>
<pre class="brush: jscript; title: ; notranslate">
	$('element').size();
</pre>
<h3>4 &#8211; Bir elemanın index değerini bulmak</h3>
<p>index değerini bulmanın farklı bir yolu </p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;ul &gt; li&quot;).click(function () {
	var index = $(this).prevAll().length;
});
</pre>
<h3>5- Bir elemanın görünür olup olmadığını yakalamak</h3>
<pre class="brush: jscript; title: ; notranslate">
if($(&quot;.eleman&quot;).is(&quot;:visible&quot;)) {
    alert('Burda');
}
</pre>
<h3>6- Kaç tane alt elemanı(çocuk elemanı) var</h3>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;foo&quot;&gt;
&lt;div id=&quot;bar&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;baz&quot;&gt;
&lt;div id=&quot;biz&quot;&gt;
&lt;/div&gt;
&lt;span&gt;&lt;span&gt;
&lt;/div&gt;

//kac tane alt elemanı oldugunu bulmak icin
$(&quot;#foo &gt; div&quot;).length
</pre>
<h3>7- jQuery Kopya Kağıdı(Cheat Sheet)</h3>
<p>jQuery&#8217;nini bir çok özelliği var ve bunları aklımızda tutma imkanımız yok. Bir kopya kağıdı işimize yaraya bilir. </p>
<p><a href="http://www.futurecolors.ru/jquery/">http://www.futurecolors.ru/jquery/</a></p>
<p>Burada son sürümün kopya kağıdı mevcut. Bende css3 özelliklerini kullanarak biraz renklendirdim. <a href="http://fatihhayrioglu.com/dokumanlar/jQuery14.htm">Benim renklendirdiğim</a>(CSS3 içerir, herisi göremez)</p>
<h3>8 &#8211; Select Elemanı ipuçları</h3>
<pre class="brush: jscript; title: ; notranslate">
// secili olan ögenin metnini almak
$(&quot;#myselect option:selected&quot;).text();

// secili olan ögenin degerini almak icin
$(&quot;#myselect option:selected&quot;).val();

// secili ogenin index degeri
$(&quot;#myselect option&quot;).index($(&quot;#myselect option:selected&quot;));

// indeksi 2 olan ögeyi seçili hale getirmek
$(&quot;#myselect option:eq(2)&quot;).attr(&quot;selected&quot;, &quot;selected&quot;);
</pre>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://blog.kenmoredesign.com/2009/02/02/useful-jquery-snippets/">http://blog.kenmoredesign.com/2009/02/02/useful-jquery-snippets/</a></li>
<li><a href="http://tympanus.net/codrops/2010/01/07/some-useful-javascript-jquery-snippets-part-2/">http://tympanus.net/codrops/2010/01/07/some-useful-javascript-jquery-snippets-part-2/</a>
</li>
<li><a href="http://www.catswhocode.com/blog/10-jquery-snippets-for-efficient-developers">http://www.catswhocode.com/blog/10-jquery-snippets-for-efficient-developers</a></li>
<li><a href="http://tympanus.net/codrops/2010/01/08/some-useful-javascript-jquery-snippets-part-3/">http://tympanus.net/codrops/2010/01/08/some-useful-javascript-jquery-snippets-part-3/</a></li>
<li><a href="http://www.opensourcehunter.com/2010/02/27/26-cool-and-usefull-jquery-tips-tricks-solutions/">http://www.opensourcehunter.com/2010/02/27/26-cool-and-usefull-jquery-tips-tricks-solutions/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ipuclari-3/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>sIFR 3 Kullanımı ve İpuçları</title>
		<link>http://www.fatihhayrioglu.com/sifr-3-kullanimi-ve-ipuclari/</link>
		<comments>http://www.fatihhayrioglu.com/sifr-3-kullanimi-ve-ipuclari/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:23:56 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[ipuçları]]></category>
		<category><![CDATA[metin yerine resim koyma]]></category>
		<category><![CDATA[sFIR]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1770</guid>
		<description><![CDATA[Bu makaleyi çok önce yazmayı planlıyordum, ancak üzerinden zaman geçmesine rağmen hala sIFR kullanılan bir yöntem olduğu için yinede yazıyı yazmaya karar verdim. Her nekadar font-face kull anımı bize bu tip alternatiflerden alıkoymak için çıktı ise de daha öncede bahsettiğimiz gibi tasarımdaki anti-aliasing özelliğini sağlayamıyor maalesef. Bundan dolayı hala eski yönte mleri kullanmaya devam etmekteyiz. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/wp-content/sifr1.gif"><img src="http://www.fatihhayrioglu.com/wp-content/sifr1.gif" alt="" title="sifr" width="192" height="116" class="alignright size-full wp-image-1773" /></a>Bu makaleyi çok önce yazmayı planlıyordum, ancak üzerinden zaman geçmesine rağmen hala sIFR kullanılan bir yöntem olduğu için yinede yazıyı yazmaya karar verdim. Her nekadar font-face kull anımı bize bu tip alternatiflerden alıkoymak için çıktı ise de <a href="http://www.fatihhayrioglu.com/webde-yazi-tipi-sorunlari-ve-google-font-api/" title="daha öncede bahsettiğimiz gibi">daha öncede bahsettiğimiz gibi</a> tasarımdaki anti-aliasing özelliğini sağlayamıyor maalesef. Bundan dolayı hala eski yönte mleri kullanmaya devam etmekteyiz. </p>
<p>Aslında ben sIFR kullanımını daha önce anlattım.  <a href="http://www.fatihhayrioglu.com/metin-yerine-resimflash-ekleme-teknikleri-image-replacement/" title="Metin Yerine Resim/Flash Ekleme Teknikleri (Image Replacement)">Metin Yerine Resim/Flash Ekleme Teknikleri (Image Replacement)</a> yazısının içinde sIFR kullanımını anlattım. Burada sIFR&#8217;ın yeni sürümünü ve ipuçlarını yazacağım. </p>
<p>sIFR3&#8242;ün son sürümünü <a href="http://dev.novemberborn.net/sifr3/nightlies/" title="http://dev.novemberborn.net/sifr3/nightlies/">http://dev.novemberborn.net/sifr3/nightlies/</a> adresinden en üstteki bağlantıdan son sürümü indirebilirsiniz.</p>
<p><a href="http://www.fatihhayrioglu.com/metin-yerine-resimflash-ekleme-teknikleri-image-replacement/" title="Metin Yerine Resim/Flash Ekleme Teknikleri (Image Replacement)">Metin Yerine Resim/Flash Ekleme Teknikleri (Image Replacement)</a> yazısında genel olarak sIFR&#8217;ın nasıl ekleneceği konusunda bilgi verdik. Bu nedenle işin bu kısmını geçip sIFR3 ile yeni ne geldi onu göstereceğiz ve artı ipuçları vereceğiz. <span id="more-1770"></span></p>
<p><strong>sFIR 2 ile sIFR 3 eklenen dosya farkları</strong></p>
<p>İlk olarak sIRF 2&#8242;den farklı olarak sIFR 3 eklene dosyalar farklıdır ve özellik tanımları için ek olarak <strong>sifr-config.js</strong> dosyası ile daha bir düzen getirilmiştir.</p>
<p>sIFR için sayfamıza eklememiz gereken dosyalar.</p>
<ul>
<li>style/sIFR-print.css</li>
<li>style/sIFR-screen.css</li>
<li>js/sifr-config.js</li>
<li>js/sifr.js</li>
<li>swf/<em>humanist</em>.swf (Sizin oluşturduğunuz swf dosya ismi)</li>
</ul>
<p><strong>sifr-debug.js</strong> dosyasını sadece deneme yaparken kolay hata yakalamak için kullanmamız içindir, yayına atarken bu dosyayı eklemeye gerek yok.</p>
<p>sIFR örneklerimizi kendi bilgisayarımızda çalıştırmaya çalıştığımızda görünmeyecektir, sadece web sunucusu kurulu makinelerde çalışacaktır. Bu daha önceden meydana gelen bazı sorunları gidermek için eklenmiş bir özelliktir.</p>
<pre class="brush: css; title: ; notranslate">
&lt;link rel=&quot;stylesheet&quot; href=&quot;style/sIFR-screen.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;style/sIFR-print.css&quot; type=&quot;text/css&quot; media=&quot;print&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/sifr.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/sifr-config.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Yukarıdaki bir ekleme ile sIFR harici dosyalarını sayfamıza eklemeliyiz.</p>
<p>Bu dosyaları yerlerine koyup sayfamıza kodu ekledikten sonra yapacağımız ilk şey <strong>sifr-config.js</strong> dosyasını açıp swf dosyamızın yerini doğru bir şekilde eklemek olmalıdır.</p>
<pre class="brush: jscript; title: ; notranslate">
var yazi_tipi = {
     src: '/dosya_yolu/yazi_tipi.swf'
};
sIFR.activate(yazi_tipi);
sIFR.replace(yazi_tipi, {
       selector: 'h2'
});
</pre>
<p>Şeklinde örnek aldığımız kodlardan <strong>yazi_tipi</strong> adı geçen yerlere kendi dosya ismimizi yazmalıyız.</p>
<p><strong>sIFR metnine Stil Vermek</strong></p>
<p>sIFR ile eklediğimiz metinlere css kodları ile özellik tanımı yapabiliriz. Alışık olduğumuz CSS özellik tanımlarını kullanma olanağı vererek bize çok büyük avantaj sağlıyor.</p>
<pre class="brush: jscript; title: ; notranslate">
sIFR.replace(yazi_tipi, {
      selector: 'h2',
      css: [
      '.sIFR-root { font-size:36px; font-weight:bold; color:#ff0000; letter-spacing: -1.5}'
      ]
});
</pre>
<p>Örnek olması için yukarıda kodları yazdım, ancak bu kısma istediğimiz kodları ekleyebiliriz. letter-spacing tanımı ile harfler arası mesafeyi ayarlayabiliriz. Değeri verirken birimini yazmıyoruz. Benzer şekilde bir çok özellik ekleyebiliriz.</p>
<p><strong>Satır yüksekliğini ayarlamak</strong></p>
<pre class="brush: jscript; title: ; notranslate">
sIFR.replace(yazi_tipi, {
      selector: 'h2',
      css: [
      '.sIFR-root { font-size:36px; font-weight:bold; leading: 1; letter-spacing: -1.5}'
      ]
});
</pre>
<p><strong>leading: 1</strong> tanımı satır yüksekliğini(line-height tanımı yerine kullanılır) ayarlamak için kullanılır. Değer verilirken birim kullanılmaz. Eksi değer alabilir.</p>
<p><strong>sIFR metinlerine bağlantı eklemek ve stil tanımlarını yapmak</strong></p>
<p>sIFR uygulana metinlere bağlantı(&lt;a&gt;) ekleyebiliriz, bağlantı eklediğimizde bunun için birde stil tanımı yapmalıyız.</p>
<p>HTML kodu</p>
<pre class="brush: xml; title: ; notranslate">
&lt;h2&gt;&lt;a href=&quot;#&quot;&gt;Başlık&lt;/a&gt;&lt;/h2&gt;
</pre>
<p>sifr-config.js   dosyasında</p>
<pre class="brush: jscript; title: ; notranslate">
sIFR.replace(yazi_tipi, {
  selector: 'h2'
  ,css: [
    '.sIFR-root { text-align: center; font-weight: bold; }'
    ,'a { text-decoration: none; }'
    ,'a:link { color: #000000; }'
    ,'a:hover { color: #CCCCCC; }'
  ]
});
</pre>
<p>Yukarıdaki tanımlama ile eklediğimiz bağlantının farklı durumları içinde tanım yapabiliyoruz. </p>
<p>Benzer şekilde sIFR uyguladığımız eleman içindeki elemanlarada stil ekleyebiliriz. Örneğin </p>
<pre class="brush: jscript; title: ; notranslate">
sIFR.replace(yazi_tipi, {
       selector: 'h2',
       css: [
       '.sIFR-root { font-size:24px; font-weight:normal; color:#9f0000; }',
       'em { font-style:italic; }',
       'strong { font-weight:bold; color:#333333; }'
       ]
});
</pre>
<p>Böylece sIFR içindeki her elemana farklı renk tanımı yapabiliriz.</p>
<p><strong>Saydam(transparent) Özelliği Vermek</strong></p>
<p>sIFR ile eklediğimiz metnin altında kalan alanlar nedeni ile bazen saydam olarak eklemek isteriz.  Yapmamız gereken çok basittir. Bir satır kod ile ardalanı saydam yapabiliriz.</p>
<pre class="brush: jscript; title: ; notranslate">
sIFR.replace(yazi_tipi, {
      selector: 'h2',
      css: [
      '.sIFR-root { font-size:36px; font-weight:bold; color:#ff0000; }'
      ],
wmode: 'transparent'
});
</pre>
<p><strong>wmode: &#8216;transparent&#8217; </strong>eklemesi işimizi görecektir.</p>
<p><strong>Dinamik Oluşturulan İçerikteki Metinlere sFIR Uygulamak</strong></p>
<p>Örneğin sekmeli bir içeriğin içindeki başlıklara sIFR uyguladığımızda sFIR sayfa yüklendiğinde uygulandığından diğer sekmelerdeki metinlere uygulanmayacaktır. Diğer sekmelerdeki metinlerede uygulamak için her sekme için uygulanan sFIR fonksiyonu çağırmalıyız.</p>
<pre class="brush: jscript; title: ; notranslate">
$(tabs).click(function () {
    // her sekme icin uygulana tanimlar
    //diger eylemler

    // uygulana sFIR fonksiyonunun tetikliyoruz.
    sIFR.replace(baslik, {
        selector: 'h1'
        ,wmode: 'transparent'
        ,css: [
          '.sIFR-root { margin:0; color: #009200; font-size:20px;}'
        ]
    });

});
</pre>
<h3>Sonuç</h3>
<p>Birçok projemde kullandım sFIR metodunu. Gördüklerim buraya yazmayaçalıştım. Eğer sizinde eklemek istediğiniz ipuçları varsa yorum kısmınaeklerseniz güzel bir dokümantasyon oluşturmuş oluruz.</p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://v4.designintellection.com/this-is-how-you-get-sifr-to-work/" title="http://v4.designintellection.com/this-is-how-you-get-sifr-to-work/">http://v4.designintellection.com/this-is-how-you-get-sifr-to-work/</a></li>
<li><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-implement-sifr3-into-your-website/" title="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-implement-sifr3-into-your-website/">http://net.tutsplus.com/tutorials/javascript-ajax/how-to-implement-sifr3-into-your-website/</a>
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/sifr-3-kullanimi-ve-ipuclari/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>jQuery İpuçları &#8211; 2</title>
		<link>http://www.fatihhayrioglu.com/jquery-ipuclari-2/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ipuclari-2/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 21:36:50 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ipuçları]]></category>
		<category><![CDATA[kontrol kutuları]]></category>
		<category><![CDATA[metot zincirleme]]></category>
		<category><![CDATA[toggle]]></category>
		<category><![CDATA[toggleClass]]></category>
		<category><![CDATA[zebra tablolar]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1577</guid>
		<description><![CDATA[Genel olarak kullandığım ve dikkatimi çeken jquery ipuçlarını sizlerle paylaşmaya devam ediyorum. İpucu serisinin ilkine buradan ulaşabilirsiniz. 1- toggle() ile kolayca gizle/göster yapmak. Javascript ile en çok yaptığımız işlerden biriydi bir bağlantıya veya elemana tıklayınca açılan bir daha tıklayınca kapanan alanlar oluşturmak. jQuery bu iş için bize toggle() fonksiyonunu tanımlamış. Çeşitli kullanım şekilleri olsada ben [...]]]></description>
			<content:encoded><![CDATA[<p>Genel olarak kullandığım ve dikkatimi çeken jquery ipuçlarını sizlerle paylaşmaya devam ediyorum. <a href="http://www.fatihhayrioglu.com/jquery-ipuclari/">İpucu serisinin ilkine buradan ulaşabilirsiniz.</a></p>
<h3>1- toggle() ile kolayca gizle/göster yapmak.</h3>
<p>Javascript ile en çok yaptığımız işlerden biriydi bir bağlantıya veya elemana tıklayınca açılan bir daha tıklayınca kapanan alanlar oluşturmak. jQuery bu iş için bize toggle() fonksiyonunu tanımlamış. Çeşitli kullanım şekilleri olsada ben size burada en basit şeklini anlatacağım. </p>
<pre class="brush: jscript; title: ; notranslate">$('p.hidden').toggle ();</pre>
<p>Bu kadar basit bir kod ile işlem tamamdır. toggle() fonksiyonuna çeşitli animasyonlar ve işler ekleyebiliyoruz. Gayet kullanışlı bir özellik.</p>
<h3>2- toggleClass() ile toogle uyguladığımız elemanlara sınıf tanımlama</h3>
<p>Yukarıda yaptığımız uygulamaya ek olarak tetiklenen elemana bir sınıf tanımlamak için </p>
<pre class="brush: jscript; title: ; notranslate">$('p.hidden').toggleClass (&quot;acik&quot;);</pre>
<p>bu kod sayesinde mesela çok basit şekilde aç-kapa butonu yapabiliriz.</p>
<h3>3- click() ile tetiklenen bağlantılarda ie6 sorununu gidermek</h3>
<p>Bir bağlantıya jquery ile erişip click() metodunu uyguladığımızda ie6 ile sorun yaşıyoruz. <a href="http://ff.im/dAPK6">Ben bu sorun için bir çözüm bulmuştum ancak Hüseyin Mert daha iyi bir çözüm buldu.</a> Ben bu çözümü burada sizlerle paylaşmak istedim.</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;a&quot;).click(function(event){
    event.preventDefault();
    // yapılacaklar
});
</pre>
<p>Böylece sorunu aşmış oluyoruz. Hüseyin Mert&#8217;e teşekkürler tekrar.</p>
<h3>4 &#8211; Metot Zincirleme özelliği ile daha kısa kodlar üretmek</h3>
<p>Bir çok metodu ard arda aynı elemana yazmaktansa zincirleme kullanabilme özelliği sunuyor bize jQuery.</p>
<pre class="brush: jscript; title: ; notranslate">$('p.ilkParagraf').css ('color', '#ff0000').text ('Giriş').addClass ('yazi').fadeTo (1000, 1);</pre>
<p>Yukarıdaki örnekte görüldüğü gibi ard arda metotları kullanabiliriz. Ancak çok fazla kullanmanın performansı etkilediğini unutmadan bu özelliği kullanalım.</p>
<h3>5- Kontrol kutularının(checkbox) kontrolü</h3>
<p>jquery ile kontrol kutularını kontrol etmenin bir kaç yolu var</p>
<pre class="brush: jscript; title: ; notranslate">
if($('#deneme:checked').val() != null)
{
	// işaretli ise bunu yap
}
//veya
if($('#deneme:checked').length != 0)
{
	// işaretli ise bunu yap
}
//veya
$('input[name=deneme]').is(':checked')
$('input[name=deneme]').attr('checked')
// işaretli veya degil
$('input[name=deneme]').attr('checked', true);
</pre>
<h3>6 &#8211; Arama metinlerini değiştirmek</h3>
<p>Arama kutuları içine açıklayıcı metinler yazarız. &#8220;Anahtar Kelime&#8221;, &#8220;Arama&#8221; vb. gibi. bu metinleri yazarız, ancak kullanıcı bu alana odaklandığında bu metni kaldırmalıyız ve kullanıcı bir şey yazmadan çıkarsa o zamanda genel yazdığımız metni geri getirmeliyiz.</p>
<pre class="brush: jscript; title: ; notranslate">
var aramaKutusu = $(&quot;#aramaAlani&quot;);
var aramaKutusuBasDeg = &quot;Aranacak Kelime&quot;;
aramaKutusu.attr(&quot;value&quot;, aramaKutusuBasDeg);

aramaKutusu.focus(function(){
	if(jQuery.trim($(this).attr(&quot;value&quot;)) == aramaKutusuBasDeg) $(this).attr(&quot;value&quot;, &quot;&quot;);
});

aramaKutusu.blur(function(){
	if(jQuery.trim($(this).attr(&quot;value&quot;)) == &quot;&quot;) $(this).attr(&quot;value&quot;, aramaKutusuBasDeg);
})
</pre>
<p><strong style="color:#f00">Güncelleme:</strong> Bu kullanımın daha basit bir şekli var. yedincisenol&#8217;un yazdığı kod daha basit ve kullanışlı.</p>
<pre class="brush: jscript; title: ; notranslate">
function doldur(o){ if (o.value==o.defaultValue){o.value=&quot;&quot;;} else if(o.value==&quot;&quot;){o.value=o.defaultValue;}o.onblur=function(){doldur(o)}}
</pre>
<p>ve kodu sonra çağırmak için (jquery ile)</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#inputId&quot;).focus(function(){ doldur(this) });
</pre>
<p>veya html içinden</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input name=&quot;adınız&quot; value=&quot;Adınızı girini&quot; onfocus=&quot;doldur(this)&quot;/&gt;
</pre>
<p>Kod için yedincisenol&#8217;a teşekkürler</p>
<h3>7- Zebra tablo yapmak</h3>
<p>Tablo okunabilirliğini arttırmak için bir satır farklı bir renk veya stil tanımlarız. Bunu javascript ile uzun yoldan yaparken jquery ile tek satır kod ile yapabiliyoruz</p>
<pre class="brush: jscript; title: ; notranslate">$(&quot;tr:nth-child(odd)&quot;).addClass(&quot;farkliSatir&quot;);</pre>
<h3>8 &#8211; Çok tekrarlanan seçicileri bir değişkene tanımlamak</h3>
<pre class="brush: jscript; title: ; notranslate">
$('p.ilkParagraf').css ('color', '#000000');
$('p.ilkParagraf').text ('Giriş');
$('p.ilkParagraf').addClass ('yazi');
$('p.ilkParagraf').fadeTo (1000, 1);
</pre>
<p>Yukarıdaki gibi bir kullanımda çok fazla tekrarlayan bir seçiciye bir değişkene atayıp daha optimum bir kod elde edebiliriz.</p>
<pre class="brush: jscript; title: ; notranslate">
var $p = $('p.ilkParagraf');
$p.css ('color', '#000000');
$p.text ('Giriş');
$p.addClass ('yazi');
$p.fadeTo (1000, 1);
</pre>
<p>Bu kullanım ile eleman ilk başta bir değişkene atanıp ön belleğe alınıyor ve daha hızlı erişiliyor. </p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://ff.im/dAPK6">http://ff.im/dAPK6</a></li>
<li><a href="http://www.myinkblog.com/2009/08/04/10-tips-for-writing-better-jquery-code/">http://www.myinkblog.com/2009/08/04/10-tips-for-writing-better-jquery-code/</a></li>
<li><a href="http://drupal.org/node/116548">http://drupal.org/node/116548</a></li>
<li><a href="http://snipplr.com/view/25148/jquery-search-text-replace/">http://snipplr.com/view/25148/jquery-search-text-replace/</a></li>
<li><a href="http://docs.google.com/Doc?docid=0AXwjxxctLLc5ZGZwYnQ3Z2RfNTBkZjZ3MnJmOA&#038;hl=tr">http://docs.google.com/Doc?docid=0AXwjxxctLLc5ZGZwYnQ3Z2RfNTBkZjZ3MnJmOA&#038;hl=tr</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ipuclari-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Jquery ipuçları</title>
		<link>http://www.fatihhayrioglu.com/jquery-ipuclari/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ipuclari/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 21:33:28 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ipuçları]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[kolaylık]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1350</guid>
		<description><![CDATA[jQuery&#8217;i artık neredeyse her projemde kullanıyorum. Aklıma gelen ve not aldığım ipuçlarını burada yazdım. Sizinde aklınıza gelen olursa yorum kısmında katkıda bulunabilirsiniz. Ayrıca kaynaklar kısmındaki linklerde de daha fazlası var 1- jQuery kütüphanemizi Google&#8217;da host etmek: google bize jQuery kütüphanesini kendi hostu üzerinden yüklememizi sağlıyor. Bu bize ön belleğe alınana dosyanın daha hızlı yüklenmesini sağlar. [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery&#8217;i artık neredeyse her projemde kullanıyorum. Aklıma gelen ve not aldığım ipuçlarını burada yazdım. Sizinde aklınıza gelen olursa yorum kısmında katkıda bulunabilirsiniz. Ayrıca kaynaklar kısmındaki linklerde de daha fazlası var</p>
<p><strong>1- jQuery kütüphanemizi Google&#8217;da host etmek:</strong> google bize jQuery kütüphanesini kendi hostu üzerinden yüklememizi sağlıyor. Bu bize ön belleğe alınana dosyanın daha hızlı yüklenmesini sağlar.
</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
 $(document).ready(function() {
	//isler burada
 });
&lt;/script&gt;
</pre>
<p>Bu sayede jquery kütüphanesini her projeye eklerken kopyala yapıştır ile de uğraşmak zorunda kalmıyoruz. İstediğimiz her yerde jQuery kullanma imkanıda veriyor bize bu kod.</p>
<p><strong>2- jquery kısaltması:</strong> jquery kodlarımzı yazarken bazen </p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function (){});
</pre>
<p>aklımıza gelmeye bilir</p>
<pre class="brush: jscript; title: ; notranslate">
$(function (){});
</pre>
<p>bu daha kolay ve akılda kalıcı bence</p>
<p><strong>3- fare üzerinde iken ve üzerinden gittiğinde</strong></p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;li&quot;).hover(
function () {
  // fare üzerinde iken bunu yap
},
function () {
  // fare kaçınca bunu yap
}
);
</pre>
<p><strong>4- not seçicisi:</strong> Bir seri elemana yaptırdığımız bir işi aradan bir tane elemanın yapmasını istiyorsak bu seçiciyi uygulayabiliriz.</p>
<pre class="brush: jscript; title: ; notranslate">
$('ul#sekme li a').not(&quot;ul li#diger a&quot;).click(function(){
    // yapılacak işler
});
</pre>
<p>Yukarıdaki kodlamada biz sekmelere bir tanım yapıyoruz ama en son sekmeye tıklayınca bu işlemin yapılmasını istemiyoruz. Bu iş için biçilmiş kaftan :not seçicisi</p>
<p><strong>5- siblings seçicisi</strong> liste ve benzeri aynı seviyedeki elemanlar üzerinde etkileşimli erişim sağlayan güzel bir seçici. Daha önce http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/ anlatırken kullanmıştım.</p>
<pre class="brush: jscript; title: ; notranslate">
$(this).parent('li').addClass('sekmeSecili').siblings().removeClass('sekmeSecili');
</pre>
<p>Bu kodda da görüldüğü gibi tıklanan sekmeye sekmeSecili sınıfı atıyoruz diğer sekmelerde aynı sınıf varsa onları kaldırıyoruz.</p>
<p><strong>6- HTML içine jQuery den eleman eklemek:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
var ekleBunu = $('&lt;div&gt;&lt;/div&gt;');
ekleBunu.attr(&quot;id&quot;,&quot;yeniKatman&quot;).appendTo(&quot;body&quot;);
</pre>
<p><strong>7- Bir elemanın varlığını kontrol etmek</strong></p>
<pre class="brush: jscript; title: ; notranslate">
if ($(&quot;#someDiv&quot;).length) {
  // eğer varsa bunu yap
}
</pre>
<p><strong>8- Kolay kullanılan tarayıcıyı yakalama</strong></p>
<pre class="brush: jscript; title: ; notranslate">
$.browser.safari
$.browser.msie
$.browser.mozilla
</pre>
<p>tarayıcı sürümünü yakalamak için</p>
<pre class="brush: jscript; title: ; notranslate">
if ($.browser.msie &amp;&amp; $.browser.version &lt;= 7 ) 
</pre>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://www.ajaxlines.com/ajax/stuff/article/_reasons_why_you_should_let_google_host_jquery_for_you.php">http://www.ajaxlines.com/ajax/stuff/article/_reasons_why_you_should_let_google_host_jquery_for_you.php</a></li>
<li><a href="http://stackoverflow.com/questions/182630/jquery-tips-and-tricks">http://stackoverflow.com/questions/182630/jquery-tips-and-tricks</a></li>
<li><a href="http://docs.jquery.com/Events/hover">http://docs.jquery.com/Events/hover</a></li>
<li><a href="http://docs.jquery.com/Selectors/not">http://docs.jquery.com/Selectors/not</a></li>
<li><a href="http://jquery-tr.blogspot.com/search/label/tips">http://jquery-tr.blogspot.com/search/label/tips</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ipuclari/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

