<?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; Javascript</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/javascript/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>Çok kolonlu yapılar ve çok kolonlu menüler</title>
		<link>http://www.fatihhayrioglu.com/cok-kolonlu-yapilar-ve-cok-kolonlu-menuler/</link>
		<comments>http://www.fatihhayrioglu.com/cok-kolonlu-yapilar-ve-cok-kolonlu-menuler/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 22:04:35 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[çok kolonlu]]></category>
		<category><![CDATA[çok kolonlu menüler]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1627</guid>
		<description><![CDATA[Son zamanlarda bir çok yerde gözüme çarpan bir menü tipi var; iki kolonlu, üç kolonlu vb. menü tipleri. CSS ile en optimum şekilde bu menüyü nasıl yapabilirim diye araştırdım ve sizlerle paylaşmaya karar verdim. Konuyu inceledikçe çok kolonlu yapıların sadece menülerde değil site içeriklerinde de kullanabileceğimizi gördüm. İlk olarak yapının nasıl olduğunu göstereceğim, sonrada menüde [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/wp-content/rei.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/rei.jpg" alt="" title="rei" width="450" height="350" class="alignnone size-full wp-image-1632" /></a></p>
<p>Son zamanlarda bir çok yerde gözüme çarpan bir menü tipi var; iki kolonlu, üç kolonlu vb. menü tipleri. CSS ile en optimum şekilde bu menüyü nasıl yapabilirim diye araştırdım ve sizlerle paylaşmaya karar verdim. Konuyu inceledikçe çok kolonlu yapıların sadece menülerde değil site içeriklerinde de kullanabileceğimizi gördüm. İlk olarak yapının nasıl olduğunu göstereceğim, sonrada menüde nasıl kullanıldığını.</p>
<p>Web mecrası geliştikçe ihtiyaçlarımızda gelişiyor ve ihtiyaçlarımızı   karşılayacak metotlar arıyoruz. Çok kolonlu yapılarda böyle bir metot aslında. Sitemizi kullanan insanlar genelde menü vb. erişim ve gezinti araçlarını kullanarak sitemizi dolaşırlar. Menü gibi gezinti araçları site yapısı düşünüldüğünde sayfamızın en önemli alanlarıdır. Bu alanları en iyi şekilde tasarlanması ve düşünülmesi sitemizi daha kullanışlı ve etkin hale getirecektir. </p>
<p>Bu düşünceler ile bir çok web site geliştiricisi çeşitli yöntemler denedi ve denemeye devam ediyor. Kullanılabilirliği en üst düzeye çıkarmak için çeşitli metotlar   üretilmektedir. Bence bunlardan en güzellerinden biridir çok kolonlu menüler.</p>
<p>Yatay ve dikey örneklerimiz olmasına karşın genelde yatay ve üst menüdeki örnekler daha kullanışlıdır. Kullanıcıya uzun menü alanlarına erişebilmek için kaydırma çubuğunu kullanırlar buda bizim için bir dezavantajdır. Çok kolonlu menüler bu gibi durumlardan bizi kurtarır. Sitemizi daha derli toplu gösterir.</p>
<p>Çok kolonlu menü örneklerini incelediğimizde belli başlı 2-3 yöntem ile oluşturulduğunu görürüz. Bunları aşağıda inceleyeceğiz. Projelerimizde çoklu menü kullanmaya   karar verdiğimizde hangisi projemize uygun ise onu kullanacağız. </p>
<p>Ayrıca javascript yardımı ile ve css3 yardımı ile de çoklu menü oluşturabiliriz bunlarıda göreceğiz.</p>
<p>Burada anlatacağımız metotlar sadece menülerde kullanılmaz, site içeriğindeki benzer yapılar içinde aynı metotlar kullanılabilir. </p>
<h3>1. Yol: float uygulanmış liste ögeleri</h3>
<p>Bu yöntemde <strong>ul</strong> elemanına sabit bir genişlik verip, her bir <strong>li</strong> elemanına <strong>float</strong> ve sabit genişlik tanımı yaparak yan yana dizeriz. Çok kolonlu yapılarını oluşturmak için en basit metottur. </p>
<p>Dezavantajı listelemek istediğimiz ögeleri yan yana dizer. Normalde istenen birinci kolonu bitirdikten sonra ikinci kolona geçmesidir.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul&gt;
    &lt;li&gt;Birinci Oge&lt;/li&gt;
    &lt;li&gt;İkinci Oge&lt;/li&gt;
    &lt;li&gt;Üçüncü Öge&lt;/li&gt;
    &lt;li&gt;Dördüncü Öge&lt;/li&gt;
    &lt;li&gt;Beşinci Öge&lt;/li&gt;
    &lt;li&gt;Altıncı Öge&lt;/li&gt;
    &lt;li&gt;Yedinci Öge&lt;/li&gt;
    &lt;li&gt;Sekizinci Öge&lt;/li&gt;
    &lt;li&gt;Dokuzuncu Öge&lt;/li&gt;
    &lt;li&gt;Onuncu Öge&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodumuz</p>
<pre class="brush: css; title: ; notranslate">
ul {
    width: 700px;
    list-style-type:none;
}
li {
    width:180px;
    margin:15px 0 0 0;
    padding:0 10px 0 0;
    line-height:15px;
    float:left;
}
</pre>
<p>Örneği görmek için <a href="/dokumanlar/cok_kolonlu/metot1.html">tıklayınız.</a></p>
<p>700px tüm genişlik içindir her ögenin genişliğini 180px verip bide sağdan 10px padding değeri ile yan yana dizeriz. </p>
<p>Örneği biraz daha geliştirip açılır menü haline getirelim. </p>
<p>HTML Kodu;</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;menu&quot;&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;Tencere&lt;/a&gt;
        &lt;ul class=&quot;kapsul&quot;&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Birinci Oge&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;İkinci Oge&lt;/a&gt;&lt;/li&gt;
        ....
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Onuncu Öge&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;Tava&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;Çaydanlık&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;Leğen&lt;/a&gt;
        &lt;ul class=&quot;kapsulSolda&quot;&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Birinci Oge&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;İkinci Oge&lt;/a&gt;&lt;/li&gt;
        .....
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Onuncu Öge&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodu;(kodun uzun olduğuna bakmayın çoğu kod menü elemanlarını daha güzel görünmesini sağlamak için eklenmiştir.) Bunu menüye uygulayalım</p>
<pre class="brush: css; title: ; notranslate">
ul{margin:0; padding:0; list-style:none}
    ul li{float:left; width:180px; border-top:3px solid #fff; position:relative}
    ul li:hover, ul li.over{border-top:3px solid #C30; background-color:#eee; width:180px;}
	    ul li a{ font:12px &quot;Trebuchet MS&quot;, Arial, Helvetica, sans-serif; text-decoration:none; display:block; padding:5px 5px 5px 10px; color:#0657ad; font-weight:bold}
</pre>
<p>İlk menü öğelerini oluşturduk.</p>
<pre class="brush: css; title: ; notranslate">
ul li:hover ul, ul li.over ul{display:block;}
</pre>
<p>Burada virgülün ilk kısmı ie6 hariç olan kısmı için ie6 için ise aşağıdaki javascript kodunu yazacağız.</p>
<p>Tabi başımızın belası ie6 için menüyü açmak için javascript yardımı almamız gerekiyor. Çünkü ie6 linklerin haricinde :hover işleyişini uygulamıyor</p>
<pre class="brush: jscript; title: ; notranslate">
startList = function() {
if (document.all&amp;&amp;document.getElementById) {
navRoot = document.getElementById(&quot;menu&quot;);
for (i=0; i&lt;navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName==&quot;LI&quot;) {
node.onmouseover=function() {
this.className+=&quot; over&quot;;
}
node.onmouseout=function() {
this.className=this.className.replace(&quot; over&quot;, &quot;&quot;);
}
}
}
}
}
window.onload=startList;
</pre>
<p>Açılan menü kısmının tam kapsanması için kapsayamama kodu ekleyeceğiz.</p>
<pre class="brush: css; title: ; notranslate">
ul li ul:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
ul li ul {display: inline-block;}
/*IE-mac de bu bolumu sakla \ */
* html ul li ul {height: 1%;}
ul li ul {display: block;}
/* IE-mac bu bolumu saklam artik */
</pre>
<p>Açılacak menü ul sinin tanımlarını yapıyoruz. </p>
<pre class="brush: css; title: ; notranslate">
ul li ul {width: 580px; list-style-type:none; display:none; border-bottom:3px solid #C30; background-color:#eee; padding:5px 0 10px 10px; position:absolute;}
    ul li li {width:180px; margin:5px 0 0 0; padding:0 10px 0 0; line-height:15px; float:left; border:0;}
    ul li li:hover{border:0}
        ul li li a{color:#0657ad; text-decoration:underline; padding:0; font-weight:normal}
        ul li li a:hover{color:#C30; text-decoration:none}
    ul li ul.kapsulSolda{right:0}
</pre>
<p>Kolonlama için yukarıdaki yöntemi uyguluyoruz. </p>
<p>Örneği görmek için <a href="/dokumanlar/cok_kolonlu/metot1_.html">tıklayınız.</a></p>
<h3>2. metot: Margin yönlendirmeleri ile</h3>
<p>Çok kolonlu yapıları oluşturmak için diğer bir yöntemde ikinci ve üçüncü kolonlara sağdan ve üstten margin değerleri vererek yapmaktır. Bu metodun avantajı kolon dizilişinin istediğimiz gibi olmasıdır. Bu metotta çoğaltacağımız kolonlara ek sınıflar eklemeliyiz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul&gt;
    &lt;li class=&quot;kolon1&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 1&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon1&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 2&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon1&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 3&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon1&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 4&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon1&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 5&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon2 sifirla&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 6&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon2&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 7&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon2&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 8&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon2&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 9&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon2&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 10&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3 sifirla&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 11&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 12&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 13&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 14&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 15&lt;/a&gt;&lt;/li&gt;
    &lt;li class=&quot;kolon3&quot;&gt;&lt;a href=&quot;#&quot;&gt;Öğe 16&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodumuzu yazalım</p>
<pre class="brush: css; title: ; notranslate">
ul { margin: 0 0 1em 2em; padding: 0; }
    ul li { line-height: 1.2em; margin: 0; padding: 0; }
    * html ul li { position: relative; }
    ul li.kolon1 { margin-left: 0em; }
    ul li.kolon2 { margin-left: 10em; }
    ul li.kolon3 { margin-left: 20em; }
    li.sifirla { margin-top: -6em; }
        ul li a { display: block; width: 7em; text-decoration: none; }
        ul li a:hover { text-decoration:underline}
</pre>
<p>Örnek kodu görmek için <a href="/dokumanlar/cok_kolonlu/metot2.html">tıklayınız.</a></p>
<p>Yukarıdaki kodda ilk <strong>li</strong> tanımımız bir önceki metot ile neredeyse aynıdır. Tek farklı olan kısım <strong>position:relative </strong>tanımıdır, bu tanım ie&#8217;deki sorunları gidermek için eklenmiştir. Her kolonun soldan mesafesi <strong>margin-left</strong> değerleri tanımlanarak sağlanmıştır. İkinci ve üçüncü kolonları yukarı çekmek içinde menü yüksekliği kadar eksi margin değeri verilerek yukarı çekilmiştir. </p>
<p>Margin yönlendirmeleri ile menü oluşturmak pek mantıklı değildir. Esnek olmayan bu yöntem menü ekleme ve çıkarmalarında osurn çıkarır.</p>
<h3>3. Metot: Kapsayıcı katman ile bölmek</h3>
<p>Bu metotta çoklu kolonlara ayrılacak listeler kapsayıcı katmanlar ile ayrılarak her bir kolon oluşturulur. Bu metotta yükseklik ile ilgi bir şey yapmaya gerek yoktur ve esnek bir yapıya sahiptir. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;licol&quot;&gt;
    &lt;ol&gt;
        &lt;li&gt;Let me not to the marriage of true minds&lt;/li&gt;
        &lt;li&gt;Admit impediments; love is not love&lt;/li&gt;
        &lt;li&gt;Which alters when it alteration finds&lt;/li&gt;
        &lt;li&gt;Or bends with the remover to remove&lt;/li&gt;
    &lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;licol&quot;&gt;
    &lt;ol start=&quot;5&quot;&gt;
        &lt;li&gt;Oh, no, it is an ever fixed mark&lt;/li&gt;
        &lt;li&gt;That looks on tempests and is never shaken;&lt;/li&gt;
        &lt;li&gt;It is the star to every wand'ring bark&lt;/li&gt;
        &lt;li&gt;Whose worth's unknown, although his height be taken&lt;/li&gt;
    &lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;licol&quot;&gt;
    &lt;ol start=&quot;9&quot;&gt;
        &lt;li&gt;Love's not Time's fool, though rosy lips and cheeks&lt;/li&gt;
        &lt;li&gt;Within his bending sickle's compass come;&lt;/li&gt;
        &lt;li&gt;Love alters not with his brief hours and weeks&lt;/li&gt;
        &lt;li&gt;But bears it out even to the edge of Doom&lt;/li&gt;
    &lt;/ol&gt;
&lt;/div&gt;
</pre>
<p>CSS kodumuzda kısadır.</p>
<pre class="brush: css; title: ; notranslate">
li {
    margin:15px 0 0 0;
    padding:0 10px 0 0;
    line-height:15px;
}
.licol {
    float: left;
    width: 200px;
}
</pre>
<p>Örnek kodu görmek için <a href="/dokumanlar/cok_kolonlu/metot3.html">tıklayınız.</a></p>
<p>Diğer metotlara göre avantajlı görünen bu metodun da kendince sorunları vardır.  Menü yaparken kapsayıcı bir katman(div) atayıp bu katman içinde ul&#8217;leri float ve genişlik vererek yan yana koyarız.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;menu&quot;&gt;
    &lt;li&gt;
        &lt;a href=&quot;&quot;&gt;Tencere&lt;/a&gt;
            &lt;div class=&quot;ucluKolon&quot;&gt;
              &lt;ul&gt;
                &lt;li&gt;&lt;a href=&quot;&quot;&gt;Let me not to the marriage of true minds&lt;/a&gt;&lt;/li&gt;
                ...
              &lt;/ul&gt;
              &lt;ul&gt;
                &lt;li&gt;&lt;a href=&quot;&quot;&gt;Oh, no, it is an ever fixed mark&lt;/a&gt;&lt;/li&gt;
                ...
              &lt;/ul&gt;
              &lt;ul&gt;
                &lt;li&gt;&lt;a href=&quot;&quot;&gt;Love's not Time's fool, though rosy lips and cheeks&lt;/a&gt;&lt;/li&gt;
                ...
              &lt;/ul&gt;
            &lt;/div&gt;
    &lt;/li&gt;
....
&lt;/ul&gt;
</pre>
<p>İlk menü kısmını ilk yaptığımız ile aynı kodlara sahip olacaktır.</p>
<pre class="brush: css; title: ; notranslate">
ul{margin:0; padding:0; list-style:none}
    ul li{float:left; width:180px; border-top:3px solid #fff; position:relative}
    ul li:hover,  ul li.over{border-top:3px solid #C30; background-color:#eee; width:180px;}
        ul li a{ font:12px &quot;Trebuchet MS&quot;, Arial, Helvetica, sans-serif; text-decoration:none; display:block; padding:5px 5px 5px 10px; color:#0657ad; font-weight:bold}
</pre>
<p>Daha sonra kapsayıcı katman tanımlarını yapıyoruz. Tabi öncesine kapsayamama sorunu kodunu ekleyerek. Kapsayamama sorunu kodlarını başa ekliyoruz çünkü bu kısmı sayfa normal gösteriminde gizlememiz gerekiyor.</p>
<pre class="brush: css; title: ; notranslate">
    div.ucluKolon:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
    div.ucluKolon {display: inline-block;}
    /*IE-mac de bu bolumu sakla \ */
    * html div.ucluKolon {height: 1%;}
    div.ucluKolon{display: block;}
    /* IE-mac bu bolumu saklam artik */
div.ucluKolon{width:600px; display:none; border-bottom:3px solid #C30; background-color:#eee; padding:5px 0 10px 10px; position:absolute}
</pre>
<p>Üst menüde en sağdaki menü elemanının altında açılan menü sağ doğru değilde sola doğru açılacak, bunun için </p>
<pre class="brush: css; title: ; notranslate">
.sagda{right:0}
</pre>
<p>Üç kolonlu yapıyı oluşturmak için katman içindeki ul&#8217;lere genişlik ve float tanımı yapıyoruz.</p>
<pre class="brush: css; title: ; notranslate">
div.ucluKolon ul{float:left; width:200px}
</pre>
<p>üst menülerin üzerine gelince açılması için </p>
<pre class="brush: css; title: ; notranslate">
ul li:hover div.ucluKolon, ul li.over div.ucluKolon{display:block}
</pre>
<p>ie6 için javascript kodumuzu yazıyoruz. Yukarıdaki kodun aynısı.</p>
<p>Örnek kodu görmek için <a href="/dokumanlar/cok_kolonlu/metot3_.html">tıklayınız.</a></p>
<h3>4. CSS 3 column-count özelliği ile</h3>
<p>CSS3 ile birlikte gelen yeni bir özellik sayesinde işler çok kolaylaştırıyor. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;menu&quot;&gt;
    &lt;li&gt;Birinci Oge&lt;/li&gt;
    &lt;li&gt;İkinci Oge&lt;/li&gt;
    &lt;li&gt;Üçüncü Öge&lt;/li&gt;
    &lt;li&gt;Dördüncü Öge&lt;/li&gt;
    &lt;li&gt;Beşinci Öge&lt;/li&gt;
    &lt;li&gt;Altıncı Öge&lt;/li&gt;
    &lt;li&gt;Yedinci Öge&lt;/li&gt;
    &lt;li&gt;Sekizinci Öge&lt;/li&gt;
    &lt;li&gt;Dokuzuncu Öge&lt;/li&gt;
    &lt;li&gt;Onuncu Öge&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodumuz ise iki satır</p>
<pre class="brush: css; title: ; notranslate">
ul#menu{
    width:700px;
    column-count: 3;
    -moz-column-count: 3;
    -webkit-column-count: 3;
}
</pre>
<p>Örnek kodu görmek için <a href="/dokumanlar/cok_kolonlu/metot4.html">tıklayınız.</a></p>
<p>Farklı tarayıcılar için yazılan bu kod maalesef ie ve opera&#8217;nın desteği olmadığı için uygulaması şimdilik yok.</p>
<h3>5. Metot: Javascript yardımı ile</h3>
<p>Aslında bu yöntem bir önceki metodun tamamlayıcı bir metodudur. </p>
<p>Bu metotta css3 column-count özelliği ile yine css ile kodu yazacağız, javascript ile de desteklemeyen tarayıcılara uyumlu hale getireceğiz.</p>
<p>Bu javascript kodunu <a href="http://www.csscripting.com/" title="csscripting.com">csscripting.com</a> sitende yayınlanmış, ancak bu site yayında değil <a href="http://www.cvwdesign.com" title="cvwdesign.com">cvwdesign.com</a> sitesinde kodu buldum. Açıkça söylemek gerekirse bunun dışında çalışan javascript kodu bulamadım. </p>
<p>Bu kodu kullanırken css kodunuzu harici kullanmalıyız aksi halde kod çalışmıyor. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Çoklu kolon&lt;/title&gt;
&lt;link href=&quot;kolon.css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;!--[if IE]&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;css3-multi-column.js&quot;&gt;&lt;/script&gt;&lt;![endif]--&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;ul class=&quot;column&quot;&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
        &lt;li&gt;list item&lt;/li&gt;
    &lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Bu javascript dosyasını ekleyince css3 aşağıdaki özelliklere karşılık gelen özellikleri</p>
<ul>
<li>column-count </li>
<li>column-width </li>
<li>column-gap</li>
<li>column-rule
  </li>
</ul>
<p>destekliyor. Mevcut açık kodun boyutu fazla gelince <a href="http://refresh-sf.com/yui/" title="çevrimiçi yui   kompresor">çevrimiçi yui kompresor</a> ile javascript dosyasını sıkıştırdım. Gayet güzel bir oran ile dosya boyutunu 37 kb&#8217;dan 19 kb&#8217;a kadar düşürdüm. </p>
<p>Örnek kodu görmek için <a href="/dokumanlar/cok_kolonlu/metot5.html">tıklayınız.</a></p>
<p>jQuery yardımı ile çeşitli çözümler mevcuttur. kaynaklar bölümünde yazdım linklerini.</p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://www.useit.com/alertbox/mega-dropdown-menus.html" title="http://www.useit.com/alertbox/mega-dropdown-menus.html">http://www.useit.com/alertbox/mega-dropdown-menus.html</a> (genel bilgi)</li>
<li><a href="http://articles.techrepublic.com.com/5100-10878_11-5810687.html" title="http://articles.techrepublic.com.com/5100-10878_11-5810687.html">http://articles.techrepublic.com.com/5100-10878_11-5810687.html</a> </li>
<li><a href="http://www.communitymx.com/content/article.cfm?page=1&#038;cid=27F87" title="http://www.communitymx.com/content/article.cfm?page=1&#038;cid=27F87">http://www.communitymx.com/content/article.cfm?page=1&amp;cid=27F87</a></li>
<li><a href="http://www.alistapart.com/articles/multicolumnlists/" title="http://www.alistapart.com/articles/multicolumnlists/">http://www.alistapart.com/articles/multicolumnlists/</a></li>
<li><a href="http://archivist.incutio.com/viewlist/css-discuss/88422" title="http://archivist.incutio.com/viewlist/css-discuss/88422">http://archivist.incutio.com/viewlist/css-discuss/88422</a></li>
<li><a href="http://www.cssplay.co.uk/menus/drop_lists.html" title="http://www.cssplay.co.uk/menus/drop_lists.html">http://www.cssplay.co.uk/menus/drop_lists.html</a> (örnek)</li>
<li><a href="http://www.cssplay.co.uk/menu/column.html" title="http://www.cssplay.co.uk/menu/column.html">http://www.cssplay.co.uk/menu/column.html</a> (farklı bir bakış)</li>
<li><a href="http://blog.pengoworks.com/index.cfm/2008/4/3/Preview-jQuery-Multicolumn-Dropdown-Plugin" title="http://blog.pengoworks.com/index.cfm/2008/4/3/Preview-jQuery-Multicolumn-Dropdown-Plugin">http://blog.pengoworks.com/index.cfm/2008/4/3/Preview-jQuery-Multicolumn-Dropdown-Plugin</a></li>
<li><a href="http://green-beast.com/experiments/css_double_lists.php" title="http://green-beast.com/experiments/css_double_lists.php">http://green-beast.com/experiments/css_double_lists.php</a></li>
<li><a href="http://css-discuss.incutio.com/?page=MultipleColumnLists" title="http://css-discuss.incutio.com/?page=MultipleColumnLists">http://css-discuss.incutio.com/?page=MultipleColumnLists</a></li>
<li><a href="http://welcome.hp.com/country/tr/tr/welcome.html" title="http://welcome.hp.com/country/tr/tr/welcome.html">http://welcome.hp.com/country/tr/tr/welcome.html</a></li>
<li><a href="http://css.flepstudio.org/en/css3/multi-column.html" title="http://css.flepstudio.org/en/css3/multi-column.html">http://css.flepstudio.org/en/css3/multi-column.html</a> (css3 multi column)
  </li>
<li><a href="http://www.smashingmagazine.com/2009/03/24/designing-drop-down-menus-examples-and-best-practices/" title="http://www.smashingmagazine.com/2009/03/24/designing-drop-down-menus-examples-and-best-practices/">http://www.smashingmagazine.com/2009/03/24/designing-drop-down-menus-examples-and-best-practices/</a></li>
<li><a href="http://www.cvwdesign.com/txp/article/360/multi-column-layout-with-css3-and-some-javascript" title="http://www.cvwdesign.com/txp/article/360/multi-column-layout-with-css3-and-some-javascript">http://www.cvwdesign.com/txp/article/360/multi-column-layout-with-css3-and-some-javascript</a></li>
<li><a href="http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/" title="http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/">http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/</a> (jquery yardımı işle güzel)</li>
<li><a href="http://codeasily.com/jquery/multi-column-list-with-jquery" title="http://codeasily.com/jquery/multi-column-list-with-jquery">http://codeasily.com/jquery/multi-column-list-with-jquery</a> (jquery multi kolon eklentisi)</li>
<li><a href="http://welcome.totheinter.net/columnizer-jquery-plugin/" title="http://welcome.totheinter.net/columnizer-jquery-plugin/">http://welcome.totheinter.net/columnizer-jquery-plugin/</a> (jquery multi kolon eklentisi)</li>
<li><a href="http://www.zenelements.co.uk/blog/css3-multiple-columns/" title="http://www.zenelements.co.uk/blog/css3-multiple-columns/">http://www.zenelements.co.uk/blog/css3-multiple-columns/</a> (css3 multi-kolon ve destekleme listesi)</li>
<li><a href="http://www.americanstandard-us.com/" title="http://www.americanstandard-us.com/">http://www.americanstandard-us.com/</a> (örnek)</li>
<li><a href="http://www.gatesfoundation.org/Pages/home.aspx" title="http://www.gatesfoundation.org/Pages/home.aspx">http://www.gatesfoundation.org/Pages/home.aspx</a> (örnek)</li>
<li><a href="http://www.cssplay.co.uk/menus/multi-column.html" title="http://www.cssplay.co.uk/menus/multi-column.html">http://www.cssplay.co.uk/menus/multi-column.html</a> (örnek)</li>
<li><a href="http://www.whitehouse.gov/" title="http://www.whitehouse.gov/">http://www.whitehouse.gov/</a> (Örnek)</li>
<li><a href="http://www.wittysparks.com/2009/09/21/build-multi-level-multi-column-multi-menus-with-pure-css/" title="http://www.wittysparks.com/2009/09/21/build-multi-level-multi-column-multi-menus-with-pure-css/">http://www.wittysparks.com/2009/09/21/build-multi-level-multi-column-multi-menus-with-pure-css/</a></li>
<li><a href="http://www.smileycat.com/design_elements/mega_dropdown_menus/#001915" title="http://www.smileycat.com/design_elements/mega_dropdown_menus/#001915">http://www.smileycat.com/design_elements/mega_dropdown_menus/#001915</a>
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/cok-kolonlu-yapilar-ve-cok-kolonlu-menuler/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Google Analitics Asenkron Kod&#8217;a Geçiş</title>
		<link>http://www.fatihhayrioglu.com/google-analitics-asenkron-koda-gecis/</link>
		<comments>http://www.fatihhayrioglu.com/google-analitics-asenkron-koda-gecis/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 10:34:37 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[site izleme]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1571</guid>
		<description><![CDATA[Bir çok sitede site trafiğini izlemek için insanlar google analitics hizmetini kullanıyor. Güzel bir hizmet, hemde ücretsiz. Bulunmaz bir nimet. Zaten daha önce paralı idi. Sonra google alınca ücretsiz yaptı. Sitelerinin performansına dikkat eden herkesin gözüne takılmıştır google analitics&#8217;in kodları. Açıkçası ben sitemi yavaşlattığı için google analitics&#8217;ten vazgeçicektim. Bir aralar site çok yavaştı. O zamanlar [...]]]></description>
			<content:encoded><![CDATA[<p>Bir çok sitede site trafiğini izlemek için insanlar google  analitics hizmetini kullanıyor. Güzel bir hizmet, hemde ücretsiz.  Bulunmaz bir nimet. Zaten daha önce paralı idi. Sonra google alınca  ücretsiz yaptı.</p>
<p>Sitelerinin performansına dikkat eden herkesin  gözüne takılmıştır google analitics&#8217;in kodları. Açıkçası ben sitemi  yavaşlattığı için google analitics&#8217;ten vazgeçicektim. Bir aralar site  çok yavaştı. O zamanlar düşünüyordum.</p>
<p>Google çalışanlarıda bu  konudaki şikayetleri göz önüne alarak asenkron kod geliştirmişler.  Asenkron kod sayesinden bir yandan google kodu çalışırken bir yandanda  diğer içerikler taranabilme olanağı elde ediyor sistem, buda sitemizin  daha hızlı açılmasını sağlayacaktır.</p>
<p>Kodlar aşağıdaki gibi;</p>
<pre class="brush: xml; highlight: [9]; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Başlık&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();
&lt;/script&gt;
&lt;!-- site icegi buradan sonra gelir --&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Kodumuz eskisi gibi karmaşık ama siz karmaşıklığa aldanmayın. Burada yapacağımız şey çok basit. 9. satırdaki <strong>UA-XXXXXXX-X</strong> kısım yerine gooagle analytics&#8217;in bize verdiği kodu yerleştirmek. </p>
<p>Burada  dikkat edeceğimiz bir husus daha vardır. Normalde javascript kodlarının  &lt;/head&gt; öncesine yazmamız önerilir, sitemizin performansı için.  Ancak asenkaron nalytics kodları &lt;head&gt; etiketi içinde yazmanız  öneriliyor.</p>
<p>Sonuçta ben kullanıyorum gayet iyi, hızlandı site. Çok büyük beklentiye girmeyin ama hızda bir atış olduğu hissediliyor.</p>
<h3>Kaynak</h3>
<ul>
<li><a title="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html" href="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html" >http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html</a></li>
<li><a title="http://www.electrictoolbox.com/google-analytics-asynchronous-tracking/" href="http://www.electrictoolbox.com/google-analytics-asynchronous-tracking/" >http://www.electrictoolbox.com/google-analytics-asynchronous-tracking/</a></li>
<li><a title="http://davidwalsh.name/async-google-analytics" href="http://davidwalsh.name/async-google-analytics" >http://davidwalsh.name/async-google-analytics</a></li>
<li><a title="http://webmasterformat.com/news/google-analytics-asynchronous-tracking" href="http://webmasterformat.com/news/google-analytics-asynchronous-tracking" >http://webmasterformat.com/news/google-analytics-asynchronous-tracking</a></li>
<li><a title="http://www.webresourcesdepot.com/tracking-new-rss-subscribers-with-google-analytics-to-understand-them-better/" href="http://www.webresourcesdepot.com/tracking-new-rss-subscribers-with-google-analytics-to-understand-them-better/" >http://www.webresourcesdepot.com/tracking-new-rss-subscribers-with-google-analytics-to-understand-them-better/</a></li>
<li><a title="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html" href="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html" >http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html</a></li>
<li><a title="http://www.webmonkey.com/blog/New_Asynchronous_Script_Stops_Google_Analytics_From_Slowing_Down_Your_Site" href="http://www.webmonkey.com/blog/New_Asynchronous_Script_Stops_Google_Analytics_From_Slowing_Down_Your_Site" >http://www.webmonkey.com/blog/New_Asynchronous_Script_Stops_Google_Analytics_From_Slowing_Down_Your_Site</a></li>
<li><a title="http://ajaxian.com/archives/google-analytics-unblocks-the-web-w-async-support" href="http://ajaxian.com/archives/google-analytics-unblocks-the-web-w-async-support" >http://ajaxian.com/archives/google-analytics-unblocks-the-web-w-async-support</a></li>
<li><a title="http://www.webresourcesdepot.com/new-google-analytics-code-for-better-load-times/" href="http://www.webresourcesdepot.com/new-google-analytics-code-for-better-load-times/" >http://www.webresourcesdepot.com/new-google-analytics-code-for-better-load-times/</a></li>
<li><a title="http://www.stevesouders.com/blog/2009/12/01/google-analytics-goes-async/" href="http://www.stevesouders.com/blog/2009/12/01/google-analytics-goes-async/" >http://www.stevesouders.com/blog/2009/12/01/google-analytics-goes-async/</a></li>
<li><a title="http://googlesystem.blogspot.com/2009/12/optimized-google-analytics-code.html" href="http://googlesystem.blogspot.com/2009/12/optimized-google-analytics-code.html" >http://googlesystem.blogspot.com/2009/12/optimized-google-analytics-code.html</a></li>
<li><a title="http://blog.chartbeat.com/2009/12/04/google-analytics-goes-asynchronous/" href="http://blog.chartbeat.com/2009/12/04/google-analytics-goes-asynchronous/" >http://blog.chartbeat.com/2009/12/04/google-analytics-goes-asynchronous/</a></li>
<li><a title="http://www.further.co.uk/blog/New-Google-Analytics-Asynchronous-Tracking-Code-241" href="http://www.further.co.uk/blog/New-Google-Analytics-Asynchronous-Tracking-Code-241" >http://www.further.co.uk/blog/New-Google-Analytics-Asynchronous-Tracking-Code-241</a></li>
<li><a title="http://www.highposition.net/article/google-analytics-launches-asynchronous-tracking-code-for-greater-speed/4561763" href="http://www.highposition.net/article/google-analytics-launches-asynchronous-tracking-code-for-greater-speed/4561763" >http://www.highposition.net/article/google-analytics-launches-asynchronous-tracking-code-for-greater-speed/4561763</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/google-analitics-asenkron-koda-gecis/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Arayüz Geliştiricilerin Görev Tanımı</title>
		<link>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/</link>
		<comments>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 21:36:52 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[arama motoru]]></category>
		<category><![CDATA[arayüz-geliştiriciler]]></category>
		<category><![CDATA[Erişebilirlik]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1364</guid>
		<description><![CDATA[Şu anki bulunduğum durum ve FirendFeed&#8217;deki Arayüz Geliştiricileri grubunun etkisi ile bu yazıyı yazmayı düşündüm. Bir çok şirket eleman ararken bazı şartları ileri sürüyor, peki bunlar ne kadar gerçekçi. Bir listede ben çıkardım, sizlerde katkıda bulunursanız Arayüz Geliştiricilerini Görev Tanımı&#8217;nı çıkarmış oluruz. Aslında bundan önce bir web ajansının yapısını ve iş akışını çıkarmak gerekir ve [...]]]></description>
			<content:encoded><![CDATA[<p>Şu anki bulunduğum durum ve <a href="http://friendfeed.com/arayuz-gelistiriciler" title="FirendFeed'deki Arayüz Geliştiricileri">FirendFeed&#8217;deki Arayüz Geliştiricileri</a> grubunun etkisi ile bu yazıyı yazmayı düşündüm. Bir çok şirket eleman ararken bazı şartları ileri sürüyor, peki bunlar ne kadar gerçekçi. Bir listede ben çıkardım, sizlerde katkıda bulunursanız Arayüz Geliştiricilerini Görev Tanımı&#8217;nı çıkarmış oluruz. </p>
<p>Aslında bundan önce bir web ajansının yapısını ve iş akışını çıkarmak gerekir ve buna göre görev tanımları yapılmalıdır, ama o biraz daha kapsamlı bir iş.</p>
<p>Bizim memlekette genelde bir iş yapılır daha sonra standartları yerleşir. Aynı durum web mecrasında da var. Bir çok kişi bu mecrada çalışmasına ve bir sektör oluşmasına rağmen iş akışı ve görev tanımları tam olarak oturmamıştır. Ben yaklaşık 10 senelik bir çalışma hayatımdaki yaşadıklarım ve okuduklarım ile Arayüz Geliştiricileri için şöyle bir liste çıkardım;</p>
<ul>
<li><strong>HTML bilmek:</strong> Çok iyi derecede HTML bilmelidir ve uygulamada gereksiz kod yığınlarında kaçınmalıdır.</li>
<li><a href="http://www.fatihhayrioglu.com/css-dersleri/"><strong>CSS Bilmek:</strong> Çok iyi derecede CSS bilmelidir. Katman tabanlı kodlamayı bilmelidir. Tablosuz sayfa yapısını tasarlamalıdır.</a></li>
<li><strong>Javascript:</strong> Çok iyi derecede javascript bilmelidir. Ajax ve  javascript kütüphanelerinden birine(jquery, mootools, vd.) hakim olmalı ve uygulama geliştirebilmelidir.</li>
<li><strong>Gelişmiş Kod Yazma:</strong> Arama motorlarına, erişebilirlik ilkelerine, farklı platform ve tarayıcılara uygun kod yazmalıdır. En az kod ile en yüksek performansı almalıdır.</li>
<li><strong>İçerik Yönetim Sistemleri:</strong> Şirket içi CMS vb. içerik yönetim sistemlerini bilmeli ve kullanmalıdır.</li>
<li><strong>Mailing:</strong> Mailing standartların bilemeli ve buna uygun mailing kodları hazırlamalıdır. <a href="http://www.fatihhayrioglu.com/html-mailing-1-mailing-kodlarken-dikkat-edilmesi-gerekenler/">HTML Mailing -1: Mailing Kodlarken Dikkat Edilmesi Gerekenler</a> | <a href="http://www.fatihhayrioglu.com/html-mailing-2-mailing-html-kodunun-yazilmasi/">HTML Mailing 2 – Mailing HTML Kodunun Yazılması</a></li>
<li><strong>Görsel Araçlar:</strong> Adobe Photoshop, Firework veya benzeri bir programı kendi işini yapacak kadar bilmelidir.</li>
<li><strong>Takım Çalışması:</strong> Takım çalışmalarına uyumlu olmalıdır. Proje Yöneticisi, tasarımcı, flashçı ve programcılar ile etkileşimli çalışmalıdır.</li>
<li><a href="http://www.fatihhayrioglu.com/yeniliklerin-takibi-ve-google-reader/"><strong>Yenilikçi:</strong> Web mecrasındaki gelişmeleri takip etmeli ve uygulamalarında bu yenilikleri gerektiğinde kullanmalıdır.</a></li>
<li><strong>Yabancı Dil:</strong> En az yenilikleri takip edecek kadar İngilizce bilmelidir.</li>
<li><strong>Sunucu Taraflı Diller:</strong> Asp.Net, PHP vb. sunucu taraflı dillerin genel mantığını bilmelidir.<BR>
      </li>
</ul>
<p>Bu liste tasarımcı, programcı, flashçı ve Arayüz geliştirici ayrımını yapabilmiş şirketler için geçerlidir. Memlekette hala bu ayrımı yapmamış şirketlerin olması üzücü. Ayrıca yukarıda tanımladığımız Arayüz Geliştiricilerinin Görev Tanımı zamanla gelişebilir. Örneğin Arama motoruna uygunluk ve erişebilirlik ve javascript  için gelecekte ayrı birimler kurulabilir. Daha da ileri gidip jquery geliştirici bile aranabilir. Malum sektör hızlı gelişiyor.</p>
<ul>
<li><A id="ry6p" href="http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects" title="http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects">http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects</A></li>
<li><A id="hzcs" href="http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers" title="http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers">http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers</A></li>
<li><A id="za:n" href="http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/" title="http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/">http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/</A></li>
<li><A id="hbpp" href="http://onlinetools.org/articles/fed2.html" title="http://onlinetools.org/articles/fed2.html">http://onlinetools.org/articles/fed2.html</A></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>CSS ile sayfalama görselliğini ayarlama</title>
		<link>http://www.fatihhayrioglu.com/css-ile-sayfalama-gorselligini-ayarlama/</link>
		<comments>http://www.fatihhayrioglu.com/css-ile-sayfalama-gorselligini-ayarlama/#comments</comments>
		<pubDate>Fri, 29 May 2009 13:33:38 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[gezinme-alanları]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[sayfalama]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1092</guid>
		<description><![CDATA[Web sitelerin kodlarken genelde hafızamdaki hazır metotları kullanıyorum. Ancak sonra farklı bir yöntem görünce aklıma &#8220;acaba bu daha mı iyi&#8221; sorusu geliyor ve araştırma yapmaya başlıyorum.  Sayfalamada da aynı durum söz konusu benim için. Burada yaptığım araştırmayı sizlerle paylaşmayı düşünüyorum. Genel olarak sayfalama hakkında bir giriş yapalım sonra kodlamaya geçeriz. Sayfalama Web sitelerinde sayfalama genel [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.fatihhayrioglu.com/wp-content/sayfalama_-150x96.gif" alt="sayfalama_" title="sayfalama_" width="150" height="96" class="alignright size-thumbnail wp-image-1100" />Web sitelerin kodlarken genelde hafızamdaki hazır metotları  kullanıyorum. Ancak sonra farklı bir yöntem görünce aklıma &#8220;acaba bu  daha mı iyi&#8221; sorusu geliyor ve araştırma yapmaya başlıyorum.   Sayfalamada da aynı durum söz konusu benim için. Burada yaptığım  araştırmayı sizlerle paylaşmayı düşünüyorum. Genel olarak sayfalama  hakkında bir giriş yapalım sonra kodlamaya geçeriz.</p>
<h3>Sayfalama</h3>
<p>Web  sitelerinde sayfalama genel olarak içeriğin uzun olduğu durumlarda  kullanıcıya daha kullanabilir sayfalar üretmek için içeriğin belli  mantıksal kısımlara ayrılmasıdır. Genelde arama sonuç sayfalarında,  günlük(blog) sitelerinde, uzun içeriğe sahip makalelerde uygulamalarına  rastlarız.</p>
<p>Sayfalama alanları genel olarak sitede gezinme  alanlarının(navigation) bir parçasıdır. Sitedeki kullanılabilirliği ve  düzeni sağlayan normal menü yapılarının dışındaki yapılardır. Aslında  bir bakıma gezinme elemanı sınıfına da sokabiliriz. Sayfalama yaparken  aşırıya kaçıp görünüşü çok hoş olsun diye kullanıcıyı zora sokan  tasarımlardan kaçınmak gerekir. Sayfalamada önemli olan kullanıcı dostu  ve işlevsel bir yapı oluşturmaktır, ondan sonra görsellik gelir.  İşlevselliği kaybetmeden görsellikde geliştirilebilir. <span id="more-1092"></span></p>
<p>Sayfalamada dikkat edilecek hususları <a title="Faruk Ateş" href="http://kurafire.net/log/archive/2007/06/22/pagination-101" >Faruk Ateş</a>&#8216;in makalesinde çok güzel bir liste şeklinde görüyoruz. Biz buraya başlıklarını alalım.</p>
<ol style="margin-left:10px; padding-left:10px; border:0;">
<li>Geniş tıklanabilir alanlar olsun. Kullanıcının tıklamasını kolaylaştırmak için.</li>
<li>Altı çizili kullanmayın. Zaten tıklanacak alanlar olduğu belli.</li>
<li>Mevcut sayfada olduğumuz belli olsun. Önemli bir ayrıntı.</li>
<li>Linkler arasına mesafeler bırakın. Kullanıcının kolay tıklaması için önemli.</li>
<li>&#8220;Önceki&#8221; ve &#8220;Sonraki&#8221; bağlantılarını verin. </li>
<li>Duruma göre &#8220;İlk&#8221; ve &#8220;Son&#8221; bağlantıları koyun.</li>
<li>İlk ve Son bağlantılarını sayfalama alanın en dışında olmasına dikkat edin.</li>
<li>Sayfa bilgisi kısmını ekleyin. Örn: (Sayfa 80 / 3). Listeye bunu ben ekledim :D</li>
</ol>
<p>Sayfalama  için genelde listeme elemanı(ul) kullanıyorum. Listeleme olmadanda  kullanılabilir benim sitemde olduğu gibi. Ama benim tercihim liste  elemanı ile oluşturmaktan yana çünkü tüm tasarımsal ihtiyaçları  karşılayacak bir yapı bütünlüğü sağlıyor bize listeleme.</p>
<h3>CSS ile Sayfalama</h3>
<p><strong>Sayfalama Örnek 1: </strong></p>
<p>Basit yapılı sayfalamalarda, daha doğrusu resim, ovallik içermeyen sayfalamalarda;</p>
<p>XHTML Kodu:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;sayfalama&quot;&gt;&lt;span class=&quot;pasif&quot;&gt;&amp;#171; Önceki&lt;/span&gt;&lt;span class=&quot;secili&quot;&gt;1&lt;/span&gt;&lt;a href=&quot;/page/2/&quot;&gt;2&lt;/a&gt;&lt;a href=&quot;/page/3/&quot;&gt;3&lt;/a&gt;&lt;a href=&quot;/page/4/&quot;&gt;4&lt;/a&gt;&lt;a href=&quot;/page/5/&quot;&gt;5&lt;/a&gt;&lt;a href=&quot;/page/6/&quot;&gt;6&lt;/a&gt;&lt;a href=&quot;/page/7/&quot;&gt;7&lt;/a&gt;...&lt;a href=&quot;/page/199/&quot;&gt;199&lt;/a&gt;&lt;a href=&quot;/page/200/&quot;&gt;200&lt;/a&gt;&lt;a href=&quot;/page/2/&quot; class=&quot;next&quot;&gt;Sonraki &amp;#187;&lt;/a&gt;&lt;/div&gt;
</pre>
<p>CSS Kodumuz:</p>
<pre class="brush: css; title: ; notranslate">
.sayfalama {
    padding: 3px;
    margin: 3px;
    text-align:center;
}

.sayfalama a {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #EEE;
    text-decoration: none;
    color: #036CB4;
}

.sayfalama a:hover,
.sayfalama a:active {
    border: 1px solid #999;
    color: #666;
}
.sayfalama .secili {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #036CB4;
    font-weight: bold;
    background-color: #036CB4;
    color: #FFF;
}
.sayfalama .pasif {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #EEE;
    color: #DDD;
}
</pre>
<p><img src="/images/sayfalama1.gif" alt="Site Sayfalama"></p>
<p>
Örneği görmek için <a title="Genel Sayfalama Örneği" href="/dokumanlar/sayfalama1.html" >tıklayınız.</a></p>
<p>Basit  kodlama tekniğinde linkler ve span kullanarak sayfalarımızı  oluşturuyoruz. Sayfa şeklini belirlemek için kenar için  boşluk(padding), kenar dışı boşluk(margin), kenar dışı çizgisi  tanımlarını yapıyoruz. </p>
<p>Sayfalamada fare üzerine geldiğinde ve aktif haller için genelde farklı renk tanımları yapılarak fark belirtilir. </p>
<p>Mevcut sayfa için ayrı bir sınıf tanımı(örn: secili) yaparak ona göre bir tanım yaparız. </p>
<p>Ayrıca pasif alanlar için bir tanım yapıyoruz. Daha silik bir renk ile.</p>
<p><strong>Sayfalama Örnek 2: </strong></p>
<p>Yahoyt&#8217;da  yaptığım örnek sayfalama. Genelde kullanılan sayfalamaya bir örnek  olacak nitelikte. İkinci yöntem benim daha çok tercih ettiğim yöntem  listeler ile sayfalama;</p>
<p>XHTML</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;sayfalama&quot;&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;|&lt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot;&gt;Önceki&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;1&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 2&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 3&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 4&quot;&gt;4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 5&quot;&gt;5&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 6&quot;&gt;6&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 7&quot;&gt;7&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 8&quot;&gt;8&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 9&quot;&gt;9&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sayfa 10&quot;&gt;10&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Sonraki&quot;&gt;Sonraki&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;İlk Sayfa&quot;&gt;&gt;|&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodu </p>
<pre class="brush: css; title: ; notranslate">
ul.sayfalama {
    margin:0 auto;
    width:530px;
    padding:10px 0 0 0;
    clear:left
}
ul.sayfalama li {
    font:bold 12px Tahoma, Geneva, sans-serif;
    color:#fff;
    float:left;
    list-style:none;
    margin:0 2px;
    background:#005689;
}
ul.sayfalama li span {
    padding:5px 8px;
    display:block
}
ul.sayfalama li a {
    font:bold 12px Tahoma, Geneva, sans-serif;
    color:#005689;
    text-decoration:none;
    background-color:#e2e2e2;
    padding:5px 8px;
    display:block
}
ul.sayfalama li a:hover {
    background-color:#005689;
    color:#e2e2e2;
}
</pre>
</p>
<p><img src="/images/sayfalama3.gif" alt="Yahoyt Sayfalama"></p>
<p>Örneği görmek için <a href="/dokumanlar/sayfalama3.html" title="Yahoyt Sayfalama Örneği">tıklayınız.</a></p>
<p><strong>Sayfalama Örnek 3:</strong></p>
<p>Son olarakda bonus.com.tr kampanyalarda yaptığım sayfalama.</p>
<p>XHTML kodu</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;sayfalama kapsayamamaSorunu&quot;&gt;
  &lt;li class=&quot;oncekiSayfa&quot;&gt;&lt;a href=&quot;javascript:;&quot;&gt;önceki&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;seciliSayfaNo&quot;&gt;&lt;a href=&quot;/page/1/&quot;&gt;1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/2/&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/3/&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/4/&quot;&gt;4&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/5/&quot;&gt;5&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/6/&quot;&gt;6&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/7/&quot;&gt;7&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/8/&quot;&gt;8&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/page/9/&quot;&gt;9&lt;/a&gt;&lt;/li&gt;
  &lt;li class=&quot;sonrakiSayfa&quot;&gt;&lt;a href=&quot;/page/2/&quot;&gt;sonraki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodu:</p>
<pre class="brush: css; title: ; notranslate">
ul.sayfalama{
    padding: 3px;
    border-bottom:1px solid #e7e7e7;
    border-top:1px solid #e7e7e7;
}

ul.sayfalama li{
    list-style:none;
    float:left;
    margin-right:10px;
    line-height:15px;
}

ul.sayfalama li.seciliSayfaNo{
	background: url(images/sayfalama_ard.gif) right top no-repeat;
}

ul.sayfalama li.seciliSayfaNo a{
    color:#e2ffcc;
    text-decoration:none;
    padding:0 4px;
    background: url(images/sayfalama_ard.gif) 0 -15px no-repeat;
    font-weight:bold;
}

ul.sayfalama li a{
    color:#5b5d5a;
    text-decoration:none;
    font-size:12px;
}

ul.sayfalama li.oncekiSayfa a{
    display: block;  
    width: 6px;  
    height: 10px;
    margin:3px 2px 0 0;
    background: url(images/sayfalama_ard.gif) 0 -36px no-repeat;
    text-decoration: none;  
    text-indent:-9999px;
}

ul.sayfalama li.sonrakiSayfa a{
    display: block;  
    width: 6px;  
    height: 10px;
    margin:3px 0 0 0;
    background: url(images/sayfalama_ard.gif) 0 -52px no-repeat;
    text-decoration: none;  
    text-indent:-9999px;
}
</pre>
<p>Listeleri  yanyana koyup, seçili olan ardalanına yuvarlak kenarlı olması için  li&#8217;ye ardalanın sag kısmını li içindeki bağlantıyada sol kısmını  koyuyoruz.</p>
<p>Ayrıca ileri ve geri ikonlarını yine ardalan kaydırma  tekniği ile aynı resimden yaralanarak ekliyoruz. Bu teknik şimdilerde  sprite tekniği olarak adlandırılıyor. İşin mantığı birden fazla resmi  ekleyip http isteklerin sayısı azaltarak sayfa yüklenme hızı  arttırıyoruz.
</p>
<p><img src="/images/sayfalama2.gif" alt="Bonus Kampanya Sayfalama"></p>
<p>
Örneği görmek için <a href="/dokumanlar/sayfalama2.html" title="Bonus Kampanyalar Sayfalama Örneği">tıklayınız.</a></p>
<p>Bu  örnek bazı kısımlar yazının ilk kısmında anlattıklarınıza uymuyor  diyebilirsiniz. Ama tasarımcının tercihleri böyle ve bu yazıyı daha  yazmamıştım. Her yazıda bende bir şeyler öğreniyorum.</p>
<p>Bu sayfalamalar dışında bir çok örneği bulabileceğiniz. <a title="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" href="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" >http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/</a> sitesini ziyaret etmenizi öneririm.</p>
<h3>Kaynaklar</h3>
<ul>
<li><a title="http://kurafire.net/log/archive/2007/06/22/pagination-101" href="http://kurafire.net/log/archive/2007/06/22/pagination-101" >http://kurafire.net/log/archive/2007/06/22/pagination-101</a></li>
<li><a title="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" href="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" >http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/</a></li>
<li><a title="http://woork.blogspot.com/2008/03/perfect-pagination-style-using-css.html" href="http://woork.blogspot.com/2008/03/perfect-pagination-style-using-css.html" >http://woork.blogspot.com/2008/03/perfect-pagination-style-using-css.html</a></li>
<li><a title="http://arjaneising.nl/html/tips-for-better-pagination" href="http://arjaneising.nl/html/tips-for-better-pagination" >http://arjaneising.nl/html/tips-for-better-pagination</a></li>
<li><a title="http://www.dynamicdrive.com/style/csslibrary/item/css_pagination_links/" href="http://www.dynamicdrive.com/style/csslibrary/item/css_pagination_links/" >http://www.dynamicdrive.com/style/csslibrary/item/css_pagination_links/</a></li>
<li><a title="http://www.thewebhelp.com/css/pagination_style_template/" href="http://www.thewebhelp.com/css/pagination_style_template/" >http://www.thewebhelp.com/css/pagination_style_template/</a></li>
<li><a title="http://css.dzone.com/news/a-digg-flickr-pagination-style" href="http://css.dzone.com/news/a-digg-flickr-pagination-style" >http://css.dzone.com/news/a-digg-flickr-pagination-style</a></li>
<li><a title="http://www.smashingmagazine.com/2007/11/16/pagination-gallery-examples-and-good-practices/" href="http://www.smashingmagazine.com/2007/11/16/pagination-gallery-examples-and-good-practices/" >http://www.smashingmagazine.com/2007/11/16/pagination-gallery-examples-and-good-practices/</a></li>
<li><a title="http://komunitasweb.com/2009/03/42-pagination-design-inspiration/" href="http://komunitasweb.com/2009/03/42-pagination-design-inspiration/" >http://komunitasweb.com/2009/03/42-pagination-design-inspiration/</a>
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-ile-sayfalama-gorselligini-ayarlama/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>jQuery ile Basit Sekme Yapımı</title>
		<link>http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/#comments</comments>
		<pubDate>Mon, 25 May 2009 07:40:45 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[sekme]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1079</guid>
		<description><![CDATA[Web sitelerinden uzun içerikler her zaman kullanıcıyı itmiştir. Bunun için çeşitli çözümler üretilmiştir ve üretilmeyede çalışılıyor. Yeterli alanların olmadığı durumlarda veya uzun içerikleri olan sayfalarda sekme kullanımı yardımımıza koşar. Birçok sitede bu ve benzeri nedenlerde dolayı sekmeleri kullanır. Artık neredeyse tüm projelerimde jQuery olmazsa olmaz oluyor. Bu nedenle javascript ile değil jQuery ile kodluyorum bu [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.fatihhayrioglu.com/wp-content/sekme_ornek-150x90.gif" alt="sekme_ornek" title="sekme_ornek" width="150" height="90" class="alignright size-thumbnail wp-image-1080" />Web sitelerinden uzun içerikler her zaman kullanıcıyı itmiştir. Bunun  için çeşitli çözümler üretilmiştir ve üretilmeyede çalışılıyor. Yeterli  alanların olmadığı durumlarda veya uzun içerikleri olan sayfalarda  sekme kullanımı yardımımıza koşar. Birçok sitede bu ve benzeri  nedenlerde dolayı sekmeleri kullanır. </p>
<p>Artık neredeyse tüm  projelerimde jQuery olmazsa olmaz oluyor. Bu nedenle javascript ile  değil jQuery ile kodluyorum bu tip alanları. Sekmeli içerik yapımı  jQuery ile çok basit. Bunu burada beraber göreceğiz. </p>
<p>XHTML kodumuz:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;sekmeAlani&quot;&gt;
&lt;!--[if !IE]&gt;sekmeler&lt;![endif]--&gt;
&lt;ul class=&quot;sekmeler&quot;&gt;
&lt;li class=&quot;s1&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s1&quot;&gt;Sekme1&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;s2&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s2&quot;&gt;Sekme2&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;s3&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s3&quot;&gt;Sekme3&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;s4&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s4&quot;&gt;Sekme4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
     
&lt;!--[if !IE]&gt;sekme icerikleri&lt;![endif]--&gt;
&lt;div class=&quot;s1&quot;&gt;...&lt;/div&gt;
&lt;div class=&quot;s2&quot;&gt;...&lt;/div&gt;
&lt;div class=&quot;s3&quot;&gt;...&lt;/div&gt;
&lt;div class=&quot;s4&quot;&gt;...&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>Burada  aslında href=&#8221;javascript:void(0);&#8221; özelliğini kullanmayabiliriz, ancak  ie6 ve 7 bu durumda link tanımlarında sorun çıkarıyor. HTML&#8217;de dikkat  edeceğimiz bir kaç yer var. Link sınıf tanımı(örn: class=&#8221;s1&#8243;) ve sekme  içeriği sınıfları birbiri ile aynı olmalıdır. </p>
<p>Hemen uygulamaya geçersek. </p>
<p>Kodumuza  jQuery kütüphanesini ekleyelim. Firefox&#8217;un YSlow eklentisinin  belirttiği gibi javascript kodlarını sayfamızın altına koyalım. </p>
<pre class="brush: xml; title: ; notranslate">
  &lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
</pre>
<p>jQuery  kodumuzu yazmaya başlayalım. Mantık olarak sekmeli menüler olsun,  sekmeli içerikler olsun aynıdır. Sekmelere tıklayınca o sekmeye ait  içerikler görünecek, diğerleri görünmez olacaktır. bu mantığa göre  kodumuzu yazalım.</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {      
  $('div.sekmeAlani ul.sekmeler li a').click(function(){    
     $(this).parent('li').addClass('sekmeSecili').siblings().removeClass('sekmeSecili');                                            
     var mevcutSinif = this.className.slice(0,2);    
     $('div.sekmeAlani &gt; div').hide().filter('div.'+mevcutSinif).show();        
   });
  $('.sekmeAlani ul.sekmeler li a:first').click();
});
</pre>
<p>Kodumuz sadece bu kadar. </p>
<p> <strong>$(document).ready(function() { .. });</strong> jQuery&#8217;nin stadart kodu. </p>
<p>5. satırdaki kodda; sekme linklerine tıklanınca yapılacak işlemleri tetikliyoruz.</p>
<p>6.  satırda tıklanan sekmeyi seçili hale getiriyoruz. Burada kullandığımız  yöntem jQuery&#8217;nin bize sunduğu güzelliklerden biridir. Hem tıklanan  sekmeyi seçili hale getiriyoruz hemde bu arada diğer sekmeleri(<strong>siblings()</strong> fonksiyonu sayesinde) normal hale getiriyoruz. Tek satır kod ile bunu bize sağlaması jQuerynin güzelliği</p>
<p>7. satırda tıklanan linkin sekme içeriği ile ilişkisini sağlayan sınıfını yakalıyoruz. Burada <strong>slice(0,2)</strong> ile sınıfın iki kelimesini alıyoruz, birebir sınıf karşılaştırması  yapamıyoruz çünkü bu linke başka sınıflarda atanmış olabilir. Bu sınıf  adı bize ilişkili sekme içeriğini göstermek için yardımcı olacaktır.</p>
<p>8. satırda içerikleri gizleme ve gösterme işini çözüyoruz.<strong> $(&#8216;div.sekmeAlani &gt; div&#8217;)</strong> kodu bize <strong>sekmeAlani</strong>&#8216;nının birincil div&#8217;lerini yani sekme içeriğini kapsayan katmanları gizlememizi sağlıyor. Böylelikle sekme içinde <strong>div</strong> kullansak bile bunlar görünmez olmuyor bu bir çok sekme kodunda göz ardı edilen bir husustur. CSS&#8217;de de olan çocuk seçiciler(<strong>&gt;</strong>)  jQueryde gönül rahatlığı ile kullanabiliyoruz çünkü ie6 desteğini  jQuery hallediyor. jQuery&#8217;nin bize sunduğu avantajlardan biride <strong>filter()</strong> fonksiyonudur. Bu sayede biz tüm sekme içeriğini kapsayan div&#8217;leri gizle  ama bu tıkladığımzın(bu tıkladığımızda yukarıdan aldığımız sınıf  tanımlaması ile anlıyoruz, aynı sınıf atamamızın sebebi de budur.)  içeriği hariç diye biliyoruz. Bize bu kadar kolaylık sağlayan jQuery  bundan dolayı çok seviyorum, pardon seviyoruz galiba.</p>
<p>10. satır  sekme linki tıklamasını bitirdikten sonra sayfa ilk açıldığında ilk  linkin tıklanması ve içeriğinin gösterilmesi için kodumuzu yazıyoruz.  Buradaki <strong>a:first</strong> yine CSS&#8217;den bildiğimiz ama ie6 nedeni ile kullanamadığımız bir özellik. <strong>click()</strong> fonksiyonuda sanki biz tıklamışız işlevi görüyoruz.</p>
<p>Evet  koda baktığımızda 5-6 satırlık bir jQuery kodu ile sekmeli bir yapı  oluşturduk. jQuery&#8217;yi bu yüzden çok güzel. Bende öğrenmeye devam  ediyorum. Öğrendikçe sizlerle paylaşacağım. bu konuda ve bir çok yerde  yardımlarından dolayı <a title="Orhan Ekici" href="http://orhanekici.info/">Orhan Ekici</a>&#8216;ye(şu  an yapım aşamasında) teşekkürlerimi sunmadan geçemeyeceğim. İnşallah  yakında sitesini açarda internet alemine güzel bilgiler sunar. </p>
<p><a title="jQuery UI" href="http://jqueryui.com/">jQuery UI</a> içinde <a title="sekme ekelentisi" href="http://docs.jquery.com/UI/Tabs">sekme ekelentisi</a> var onuda tercih edebilirsiniz. jQuery tab eklentisi çok ayrıntılı ve  bir çok özellikleri var. Bu bir bakıma avantaj olsada bazen dezavantaja  dönüşebiliyor. Ben ufak bir sekmeli içerik yapmak için jQuery UI tab  eklentisini kullanmayı uygun görmüyorum açıkçası.</p>
<p>Sekmeli içerik  ve sekmeli menülerde farklı şekillerde örnekler var. Stil dosyasını  değiştirerek bu örnek üzerinden istediğimiz birçok sekmeli içerik  üretebiliriz. </p>
<p>Örnek kodu görmek için <a href="/dokumanlar/sekme.html">tıklayınız. </a></p>
<p>Örnek kodu IE (6-7-8), Firefox 3.0.10, Opera 9.6, Googel Chrome 1.0 ve Safari 3.2.2 sürümlerinde test ettim. </p>
<h3>Kaynaklar</h3>
<ul>
<li><a title="http://jqueryfordesigners.com/jquery-tabs/" href="http://jqueryfordesigners.com/jquery-tabs/">http://jqueryfordesigners.com/jquery-tabs/</a></li>
<li><a title="http://broadcast.oreilly.com/2008/10/how-to-create-tabs-with-css-an.html" href="http://broadcast.oreilly.com/2008/10/how-to-create-tabs-with-css-an.html">http://broadcast.oreilly.com/2008/10/how-to-create-tabs-with-css-an.html</a></li>
<li><a title="http://justintadlock.com/archives/2007/11/07/how-to-create-tabs-using-jquery" href="http://justintadlock.com/archives/2007/11/07/how-to-create-tabs-using-jquery">http://justintadlock.com/archives/2007/11/07/how-to-create-tabs-using-jquery</a></li>
<li><a title="http://www.barelyfitz.com/projects/tabber/index.php" href="http://www.barelyfitz.com/projects/tabber/index.php">http://www.barelyfitz.com/projects/tabber/index.php</a></li>
<li><a title="http://www.thetruetribe.com/jquery/3-jquery-widgets/77-how-do-i-make-tabs-in-jquery-without-jq-tabs-plugin" href="http://www.thetruetribe.com/jquery/3-jquery-widgets/77-how-do-i-make-tabs-in-jquery-without-jq-tabs-plugin">http://www.thetruetribe.com/jquery/3-jquery-widgets/77-how-do-i-make-tabs-in-jquery-without-jq-tabs-plugin</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Jquery İle IFrame Yüksekliğini İçeriğine Göre Otomatik Ayarlamak</title>
		<link>http://www.fatihhayrioglu.com/jquery-ile-iframe-yuksekligini-icerigine-gore-otomatik-ayarlamak/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ile-iframe-yuksekligini-icerigine-gore-otomatik-ayarlamak/#comments</comments>
		<pubDate>Mon, 18 May 2009 08:31:21 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery plugin]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1060</guid>
		<description><![CDATA[Ben bu işe başladığımdan beri çerçeve(frame) kullanmak hoşa gitmemiştir. Allah&#8217;tan ilk çıktığındaki popülaritesini kaybettide rahatladım. Ancak yine bazı yerlerde tek çare olarak framset&#8217;i olmasada iframe&#8217;i kullanmak zorunda kalıyoruz. Iframe kullanımında en çok yaşanan sorunlardan biridir içeriğin yüksekliğine göre iframe yüksekliğinin artması veya azalması. Daha önce ben bunu javascript ile yapmıştım. Ancak farklı tarayıcılarda bazı sorunlar [...]]]></description>
			<content:encoded><![CDATA[<p>Ben bu işe başladığımdan beri çerçeve(frame) kullanmak hoşa  gitmemiştir. Allah&#8217;tan ilk çıktığındaki popülaritesini kaybettide  rahatladım. Ancak yine bazı yerlerde tek çare olarak framset&#8217;i olmasada  iframe&#8217;i kullanmak zorunda kalıyoruz.
 </p>
<p> Iframe kullanımında en  çok yaşanan sorunlardan biridir içeriğin yüksekliğine göre iframe  yüksekliğinin artması veya azalması. Daha önce ben bunu javascript ile  yapmıştım. Ancak farklı tarayıcılarda bazı sorunlar yaşamıştım. Şimdide  javascript ile bunu halledebiliriz. Ancak son zamanlarda(o kadar da  yeni sayılmaz :D) popüler olan javascript kütüphaneleri(benim için  bunun adı jQuery) ile bu daha basit. </p>
<p>Burada ufak bir ipucu var. Ben bir çok projelerimde jquery kütüphanesini kullandığım için <a title="jQuery autoHeight eklentisini" href="http://lib.mobius.tw/jquery/myplugin/iframe_autoHeight/api.htm">jQuery autoHeight eklentisini</a> kullandım. Eğer projemde jQuery kütüphanesi yüklü değilse javascript  ile yapmak daha mantıklı. Javascript ile yapacaklar için bir <a title="link" href="http://www.dynamicdrive.com/dynamicindex17/iframessi2.htm">link</a> jQuery ile yapmanın bir kaç avantajıdaha var tabii</p>
<p>Ben burada jQuery autoHeight eklentisinin nasıl kullanılacağını anlatacağım. </p>
<p>Sayfamıza ilk olarak jQuery kütüphanesini eklemeliyiz. Bu script dosyasının ilk sırada olması önemli jQuery için.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;script/jquery.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Iframe otomatik yükseklik vermek için kullandığımız eklenti kodu.</p>
<pre class="brush: xml; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;script/jquery.autoheight.js&quot;&gt;&lt;/script&gt;</pre>
<p>Sayfaya eklediğimiz iframe kodunda yapmamız gereken sadece class=&quot;autoHeight&quot; eklemek.</p>
<pre class="brush: xml; title: ; notranslate">&lt;iframe id=&quot;listeCercevesi&quot; name=&quot;listeCercevesi&quot; class=&quot;autoHeight&quot; scrolling=&quot;auto&quot; frameborder=&quot;0&quot; src=&quot;/liste.aspx&quot;&gt;&lt;/iframe&gt;</pre>
<p>Örnek sayfayı görmek için <a href="/dokumanlar/iframe_code/index.html">tıklayın.</a> (sonspring.com alınmıştır)</p>
<h3>Uyarılar:</h3>
<ul>
<li>İlk uyarımız bu metot aynı alan adı  üzerindeki sayfa eklemelerinde çalışıyor. İçreriğini farklı siteden  aldığımız iframe&#8217;ler güvenlik nedeniyle çalışmayacaktır.</li>
<li>İkinci uyarım ise içeriği  yüklü olan iframe sayfalarında yükleme zaman aldığı için ve scriptimiz  sayfa yüklendikten sonra çalıştığı için sayfa yüksekliği ilk açılıştı  küçük geliyor ve sonradan gerçek boyutuna geliyor. Ben bunu engellemek  için iframe&#8217;e ortalama bir yükseklik değeri girdim. Script  yüklendiğinde zaten beni girdiğim değeri değiştiriyor.</li>
<li>Üçüncü  olarak bu yöntem javascript yönteminden daha kullanışlı yapan  özelliklerden biri de kullanımının kolay olması ve her iframe e id  vermek zorun olmuyor olmamız.</li>
</ul>
<h3>Kaynaklar</h3>
<ul>
<li><a title="http://www.lost-in-code.com/programming/jquery-auto-iframe-height/" href="http://www.lost-in-code.com/programming/jquery-auto-iframe-height/">http://www.lost-in-code.com/programming/jquery-auto-iframe-height/</a></li>
<li><a title="http://lib.mobius.tw/jquery/myplugin/iframe_autoHeight/api.htm" href="http://lib.mobius.tw/jquery/myplugin/iframe_autoHeight/api.htm">http://lib.mobius.tw/jquery/myplugin/iframe_autoHeight/api.htm</a></li>
<li><a title="http://jbscdev.blogspot.com/2007/08/automatic-iframe-height-sizing-using.html" href="http://jbscdev.blogspot.com/2007/08/automatic-iframe-height-sizing-using.html" id="gdii">http://jbscdev.blogspot.com/2007/08/automatic-iframe-height-sizing-using.html</a></li>
<li><a title="http://sonspring.com/journal/jquery-iframe-sizing" href="http://sonspring.com/journal/jquery-iframe-sizing">http://sonspring.com/journal/jquery-iframe-sizing</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ile-iframe-yuksekligini-icerigine-gore-otomatik-ayarlamak/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>jQuery ve mootools birlikte kullanmak</title>
		<link>http://www.fatihhayrioglu.com/jquery-ve-mootools-birlikte-kullanmak/</link>
		<comments>http://www.fatihhayrioglu.com/jquery-ve-mootools-birlikte-kullanmak/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 12:01:37 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=810</guid>
		<description><![CDATA[Ben genellikle jQuery ile çalışıyorum, ama bazen diğer javascript kütüphaneleride kullanmak gerekiyor. Bende yeni projemde mootools&#8217;un multibox lightbox kolonunu kullandım. Tabi jquery ve mootools ile birlikte kullanmamdan dolayı hata vermeye başladı. Çözüm çok basit $ işareti yerine jQuery yazmak yeterli. yerine]]></description>
			<content:encoded><![CDATA[<p>Ben genellikle jQuery ile çalışıyorum, ama bazen diğer javascript kütüphaneleride kullanmak gerekiyor. Bende yeni projemde mootools&#8217;un multibox lightbox kolonunu kullandım.</p>
<p>Tabi jquery ve mootools ile birlikte kullanmamdan dolayı hata vermeye başladı. </p>
<p>Çözüm çok basit $ işareti yerine jQuery yazmak yeterli.</p>
<pre class="brush: jscript; title: ; notranslate">$.ajax</pre>
<p>yerine </p>
<pre class="brush: jscript; title: ; notranslate">jQuery.ajax</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/jquery-ve-mootools-birlikte-kullanmak/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Firefox 3.1 Yenilikleri</title>
		<link>http://www.fatihhayrioglu.com/firefox-31-yenilikleri/</link>
		<comments>http://www.fatihhayrioglu.com/firefox-31-yenilikleri/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 08:50:05 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[font-face]]></category>
		<category><![CDATA[geode]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[İnternet Tarayıcısı]]></category>
		<category><![CDATA[tarayıcı]]></category>
		<category><![CDATA[yazı tipi]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=711</guid>
		<description><![CDATA[Firefox 3.1 Beta1 çıktı. Aslında sadece bir haber değeri taşıyan bir bilgi, ancak Firefox 3.1 ile birlikte bir çok sevindirici gelişmeler getirdiği için dikkate değer bir yenileme. Bir ara sürüm değilde sanki yeni bir sürüm gibi. Yeni özelliklere bir göz atalım. Geolocation Geode internet tarayıcıları için yeni kavram. Mozilla laboratuarlarının geleceğin tarayıcıları hakkındaki düşüncelerinden biri [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.1 Beta1 çıktı. Aslında sadece bir haber değeri  taşıyan bir bilgi, ancak Firefox 3.1 ile birlikte bir çok sevindirici  gelişmeler getirdiği için dikkate değer bir yenileme. Bir ara sürüm değilde  sanki yeni bir sürüm gibi. Yeni özelliklere bir göz atalım.<span id="more-711"></span></p>
<h3>Geolocation</h3>
<p>Geode internet tarayıcıları için yeni kavram. Mozilla laboratuarlarının <a title="Geleceğin konsept tarayıcıları" href="http://labs.mozilla.com/projects/concept-series/">geleceğin tarayıcıları hakkındaki düşüncelerinden</a> biri idi bu. Kullanıcıların yerini belirleyip ona göre sayfalar ve  içerikler sunmak . Örneğin yeni bir yere taşındınız ve en yakın yemek  yyiyecek yeri veya marketi bulmak için internet tarayıcını size  yardımcı olabilecek. </p>
<p>Firefox 3 ile eklenti yardımı ile gelen bu özelliği, isterseniz deneyebilirsiniz. <a title="Buradan" href="https://people.mozilla.com/%7Edolske/dist/geode/geode-latest.xpi">Buradan</a> indirip deneyebilirsiniz. Deneme yapmak için örnek bir siteye  yönlendiriyor, ancak Türkiye&#8217;den kullananlar için hata veriyor.  Türkiye&#8217;deki ip durumu düşünüldüğünde pek kullanışlı bir araç olmayacak.  Ama ne diyelim gelecekten ümitliyiz.</p>
<p>Gizlilik  konusuda düşünülerek kullanıcının verdiği kadar bilgi ile sonuçları  gösteriyor. Üst barda çıkan bilgi ekranı yardımı ile yapılacak. </p>
<p>Firefox3.1 ile birlikte gelecek olan özellik Geode eklentisinden daha iyi olacağı <a title="W3C Geolocation specification" href="http://dev.w3.org/geo/api/spec-source.html">W3C Geolocation specification</a> standartlarını destekleyen bir yapı kullanılacağı belirtiliyor. Bu standardı javascript gibi düşünebiliriz.</p>
<p>İnternet  tarayıcıları gittikçe kullanıcıya daha çok düşünen araçlar olmaya  başlıyor. Son zamanlardaki rekabet en çok kullanıcıya yaradığı kesin.</p>
<p>http://www.informationweek.com/galleries/showImage.jhtml?galleryID=263&amp;articleID=211201744 sitesinde 3-10 arasındaki resimler bize işleyişin nasıl olduğunu güzel bir şekilde gösteriyor.</p>
<h3>@font-face ile yazı tipi desteği</h3>
<p>Web kod yazarları ve tasarımcıların en büyük sorunlarından  birisi işletim sistemin desteklediği başlangıçta yüklü yazı tipleri dışındaki  yazı tiplerini web sitelerinde kullanamama sıkıntısıdır. Tam bir kullanamama  diyemeyiz tabi kullanabiliyoruz ama başlangıçta yüklü olanlar gibi değil.</p>
<p>Firefox 3.1 ile birlikte gelen bu özellik desteği sayesinde  farklı yazı tipleri kullanımında büyük bir adım daha atılmış oluyor. Gelecek  ümit veriyor bize.</p>
<p>Mac ve Windows kullanıcıları için eklenen bu özelikle Linux  için Firefox 3.1 kararlı sürümü ile birlikte gelecekmiş. </p>
<p>Beni en çok sevindiren özelliği bu oldu açıkçası.</p>
<pre class="brush: css; title: ; notranslate">
@font-face {
font-family: &quot;Bitstream Vera Serif Bold&quot;;
src: url(&quot;http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf&quot;);
}
</pre>
<p><a href="http://www.fatihhayrioglu.com/wp-content/font_face.gif"><img src="http://www.fatihhayrioglu.com/wp-content/font_face-300x78.gif" alt="" title="font-face" width="300" height="78" class="alignnone size-medium wp-image-713" /></a></p>
<h3>Video ve Auido  Desteği</h3>
<p>HTML 5 ile birlikte gelen &lt;video&gt; ve&lt; auido&gt;  elemanı desteği Firefox 3.1 ile birlikte geliyor. Bu elemanlar sayesinde  görüntülü ve işitsel öğeleri web sayfalarına eklemek daha basit olacak. Ayrıca Javascript  ile bu nesneleri etkileşimli kullanabileceğiz.</p>
<h3>Adres Çubuğunda Yenilikler</h3>
<p>Adres çubuğunda özel  karakterler ile arama sağlanarak sınırlarımızı belirlememiz sağlanmış. Yeni çıkan tarayıcılarda adres çubuğu artık çok fonksiyonlu  hale getirilmeye başlandı. Firefox3.1 ile gelen özel arama karakterleri  yardımı ile aramayı neredeyse tek adres çubuğuna taşımışlar diyebiliriz. </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/firefox31_adres_bar.gif"><img src="http://www.fatihhayrioglu.com/wp-content/firefox31_adres_bar-300x61.gif" alt="" title="Adres Bar" width="300" height="61" class="alignnone size-medium wp-image-714" /></a></p>
<p>^ işareti ile geçmişte gezdiğimiz sayfalarda arama yapabiliyoruz.<br />
  * işareti ile favorimize eklediğimiz sitelerde arama yapabiliyoruz<br />
  + işareti ile eklediğimiz etiketlerde arama yapabiliyoruz.<br />
  # işareti hem başlıkta hemde etiketde arama yapmak için kullanıyor.
</p>
<h3>Yeni Javascript Motoru  &#8211; TraceMonkey</h3>
<p>Yeni Javascript motoru ile Google Chrome’un tahtını elinden  aldı. SunSpider JavaScript testinde bir numara.   Google Chrome’un geliştirdiği Javascript motoru ile tarayıcılar Javascript  motorlarını tekrar gözden geçirmek zorunda kaldı. Firefox yeni Javascript motoru  ile hızını arttırdı. Rekabet kullanıcıya yarıyor.</p>
<p>TraceMonkey başlangıçta kapalı geliyor açmak için </p>
<p>1. Adres bara <em>about:config</em> yazın<br />
  2. Filter  alanında <em>javascript.options.jit.content</em>  girip üzerine iki kere tıklayıp false  olan değeri true yapın<br />
  3. Tarayıcıyı açıp kapatın</p>
<h3>XHR </h3>
<p>XMLHttpRequest (XHR) API&#8217;si. Javascript ve  diğer diller tarafından kullanılan bu API, sunucu ve istemci arasında  XML ve diğer verilerin aktarılmasını sağlıyor. Bu API&#8217;nin Firefox 3.0  ile beraber gelmemesine sebep olarak, XHR&#8217;nin spesifikasyonlarının  kesinleşmesi ve güvenlik modelinin iyileştirilmesi için biraz daha  zamanın olmasıymış. Mozilla yeterli zamanın geçtiğine kanaat getirmiş ki 3.1 bu özelliği eklemiş.</p>
<h3>Bu özelliklere ek olarak</h3>
<ul>
<li> Web Standartlarına daha uygun:<strong> </strong>Gecko düzen motorunu web  standartlarına daha uygun hale getirilmiş. Acid 3 testinden 89 alarak mevcut  tarayıcılar(Google Chrome, İnternet Explorer7 – 8 b2) arasındaki en iyi notu aldı.</li>
<li> CSS 2.1 ve CSS 3 özelliklerinin desteği eklenmiş</li>
<li> Daha önce eklenti ile yapılan sekmeler arası  geçiş için ön izleme görünümü eklenmiş.</li>
<li> Adres bar da girdiğimiz kelimeleri filtreleme  özelliği eklenmiş.</li>
</ul>
<h3>Kararlı Sürüm ile  gelecek özellikler</h3>
<h3>Özel Mod</h3>
<p>Google Chrome ve Internet Explorer 8 ile birlikte gelen özel  mod özelliği Firefox 3.1 ile birlikte gelecek. Bu özellik sayesinde </p>
<h3>Speed Dial</h3>
<p>Speed Dial ile yeni açılan sekmede en sık kullanılan web  sitelerini küçük resimleri ile birlikte listeleyebiliyoruz. Daha önce  eklentiler ile kullandığımız bu özellik yeni sürüm ile birlikte geliyor.<strong><br />
</strong></p>
<h3>Daha fazla yenilik</h3>
<p>Bunun haricinde Firefox 3.1 ile birlikte bir çok kullanışlı  özellikler getirilecek.</p>
<ul>
<li><a href="http://developer.mozilla.org/web-tech/2008/10/14/firefox-31-beta-1-an-overview-of-features-for-web-developers/">http://developer.mozilla.org/web-tech/2008/10/14/firefox-31-beta-1-an-overview-of-features-for-web-developers/</a>
  </li>
<li><a href="http://www.siberkultur.com/?q=firefox-3-1">http://www.siberkultur.com/?q=firefox-3-1</a></li>
<li><a href="http://mehmetergin.blogspot.com/2008/10/firefox-geolocation-api-specification.html">http://mehmetergin.blogspot.com/2008/10/firefox-geolocation-api-specification.html</a>
  </li>
<li><a href="http://lifehacker.com/5063481/firefox-31-adds-keyword-filters-to-the-awesomebar">http://lifehacker.com/5063481/firefox-31-adds-keyword-filters-to-the-awesomebar</a>
  </li>
<li><a href="http://lifehacker.com/396154/firefox-31-new-features-already-in-the-works">http://lifehacker.com/396154/firefox-31-new-features-already-in-the-works</a></li>
<li><a href="http://lifehacker.com/5048604/firefox-31-to-add-private-browsing-mode">http://lifehacker.com/5048604/firefox-31-to-add-private-browsing-mode</a></li>
<li><a href="http://lifehacker.com/5049728/firefox-31-to-enable-color-profile-support-by-default">http://lifehacker.com/5049728/firefox-31-to-enable-color-profile-support-by-default</a></li>
<li><a href="http://lifehacker.com/5062744/firefox-31-to-include-smarter-session-restore">http://lifehacker.com/5062744/firefox-31-to-include-smarter-session-restore</a></li>
<li><a href="http://lifehacker.com/5063202/firefox-31-beta-1-now-available-for-download-first-look">http://lifehacker.com/5063202/firefox-31-beta-1-now-available-for-download-first-look</a></li>
<li><a href="http://www.readwriteweb.com/archives/firefox_31_beta_1_geolocation.php">http://www.readwriteweb.com/archives/firefox_31_beta_1_geolocation.php</a></li>
<li><a href="http://blogs.zdnet.com/hardware/?p=2781">http://blogs.zdnet.com/hardware/?p=2781</a></li>
<li><a href="http://news.cnet.com/8301-17939_109-10066397-2.html?part=rss&amp;tag=feed&amp;subj=Webware">http://news.cnet.com/8301-17939_109-10066397-2.html?part=rss&amp;tag=feed&amp;subj=Webware</a></li>
<li><a href="http://ed.agadak.net/2008/07/firefox-31-restricts-matches-keywords">http://ed.agadak.net/2008/07/firefox-31-restricts-matches-keywords</a></li>
<li><a href="http://www.tgdaily.com/html_tmp/content-view-39752-140.html">http://www.tgdaily.com/html_tmp/content-view-39752-140.html</a></li>
<li><a href="http://www.informationweek.com/galleries/showImage.jhtml?galleryID=263&amp;articleID=211201744">http://www.informationweek.com/galleries/showImage.jhtml?galleryID=263&amp;articleID=211201744</a></li>
<li><a href="http://www.pclabs.com.tr/2008/05/23/mozilla-firefox-31-bu-sene-sonunda-cikiyor/">http://www.pclabs.com.tr/2008/05/23/mozilla-firefox-31-bu-sene-sonunda-cikiyor/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/firefox-31-yenilikleri/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Javascript&#8217;te Parantez Takibi</title>
		<link>http://www.fatihhayrioglu.com/javascript%e2%80%99te-parantez-takibi/</link>
		<comments>http://www.fatihhayrioglu.com/javascript%e2%80%99te-parantez-takibi/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 12:55:40 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[NotePad]]></category>
		<category><![CDATA[parantez]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=692</guid>
		<description><![CDATA[Javascript ve jquery ile program yazarken en çok parantezleri nerede açıp kapadığımız önem kazanıyor. Çoğu zaman parantez takibi yapmak zorunda kalıyoruz. Dreamweaver’ın “Balancing Braces” özelliği sayesinde parantez takibi kolaylaşıyor. Fonksiyonun nereden başlayıp nerede bittiğini görmek gerekiyor. Bu özellik bize parantez takibi sağlıyor. Güzel bir özellik olsa da NotePad ++’ ın çizgileri ve parantez takip olayı [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript ve jquery ile program yazarken en çok parantezleri nerede açıp kapadığımız önem kazanıyor. Çoğu zaman parantez takibi yapmak zorunda kalıyoruz.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/balance_baraces1.gif"><img src="http://www.fatihhayrioglu.com/wp-content/balance_baraces1-300x172.gif" alt="Dreamweaver parantez takibi" title="" width="300" height="172" class="size-medium wp-image-694" /></a></p>
<p>Dreamweaver’ın “Balancing Braces” özelliği sayesinde parantez takibi kolaylaşıyor. Fonksiyonun nereden başlayıp nerede bittiğini görmek gerekiyor. Bu özellik bize parantez takibi sağlıyor.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/notepad_plus_parantez.gif"><img src="http://www.fatihhayrioglu.com/wp-content/notepad_plus_parantez-300x161.gif" alt="Notepad ++ parantezt takibi" title="" width="300" height="161" class="alignnone size-medium wp-image-695" /></a></p>
<p>Güzel bir özellik olsa da NotePad ++’ ın çizgileri ve parantez takip olayı bence daha iyi. Bilmiyorum belki Dreamweaver’ın böyle bir ayarı vardır. Ama ben bilmiyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/javascript%e2%80%99te-parantez-takibi/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>FireBug 1.2 ve yenilikleri</title>
		<link>http://www.fatihhayrioglu.com/firebug-12-ve-yenilikleri/</link>
		<comments>http://www.fatihhayrioglu.com/firebug-12-ve-yenilikleri/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 08:40:45 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Haberler]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[Firefox 3]]></category>
		<category><![CDATA[Hata yakalama]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=614</guid>
		<description><![CDATA[Daha önce FireBug&#8217;ın genel özelliklerinden bahsettik. Sıra FreiBug ile CSS ve Xhtml yazmaya gelmişti ki yeni sürüm çıkınca bu makaleyi yazma ihtiyacı duydum. Web kod yazarları için büyük kolaylık sağlayan FireBug&#8217;ın yeni sürüm çıktı ama kimseden ses çıkmadı. Belkide Google Chrome duyurusunun altında ezildi. Ama Google Chrome&#8217;un benim için en büyük dezavantajı FireBug gibi gelişmiş [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/wp-content/firebug_12.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/firebug_12.jpg" alt="" title="FireBug" width="170" height="167" class="alignright size-medium wp-image-615" /></a>Daha önce  <a href="http://www.fatihhayrioglu.com/?p=564">FireBug&#8217;ın genel özelliklerinden</a> bahsettik. Sıra FreiBug ile CSS ve Xhtml  yazmaya gelmişti ki yeni sürüm çıkınca bu makaleyi yazma ihtiyacı duydum.</p>
<p>Web kod  yazarları için büyük kolaylık sağlayan FireBug&#8217;ın yeni sürüm çıktı ama kimseden  ses çıkmadı. Belkide Google Chrome duyurusunun altında ezildi. Ama Google  Chrome&#8217;un benim için en büyük dezavantajı FireBug gibi gelişmiş bir CSS ve  XHTML aracının olmamasıdır. Aslında ben bile geç kaldım, çünkü ben yazana kadar  1.2.1 sürüm çıktı.</p>
<p>     FireBug&#8217;ın yeni sürümünde daha çok hata düzeltme, güvenlik  düzeltmeleri ve kararlı hale getirme işlemleri göze çarpıyor.</p>
<p>  Göze çarpan özellikleri incelersek;<span id="more-614"></span></p>
<h6>Firefox 3  Desteği</h6>
<p>Benim  Firefox 3&#8242;e geçmememin en büyük nedeni FireBug&#8217;ın kararlı bir şekilde Firefox  3&#8242;de çalışmaması idi. FireBug 1.2 sürümünde Firefox 3 desteğini sunarak bizi bu  dertten kurtarmış oluyor. Artık Firefox3 kullanıyorum ve çok memnunum.</p>
<h6>Araçlar daha  kaliteli hale getirilmiş</h6>
<p>Javascript panel, net paneli   ve Konsol paneli yenilenmiş ve geliştirilmiş. Bu panellerdeki birçok  sorun giderilmiş. </p>
<h6>Panellerin Aktifleşmesini Seçebiliyoruz</h6>
<p>John Resig&#8217;in söylediğine göre görünüşte o kadar önemli olmasada bu sürümün en  önemli özelliği olarak gösteriyor.</p>
<p>     Bu özelliğin bize ne gibi avantajı var derseniz.  <a href="https://wiki.mozilla.org/User:Rcampbell/Firebug_performance">https://wiki.mozilla.org/User:Rcampbell/Firebug_performance</a> bu çalışmaya göz  atmanızı öneririm. Her pencerede FireBug Javascript panelinin açık olması  performansı ciddi mana da etkiliyor. Bu nedenle böyle özellik ekleyerek FireBug&#8217;ın bir handikapınıda gidermişler.</p>
<p>     Artık Javascript panel, net paneli  ve Konsol panellerinin aktif ve pasif  olmasını ayarlayabiliyoruz. Normal durumda HTML, CSS ve DOM panelleri  çalışıyor, Javascript, Net ve Konsol panelleri ise bizim seçimimize göre aktif  ve pasif hale getirilebiliyor.</p>
<p><img src="/images/firebug_ikon.gif" alt="FireBug ikonu" width="30" height="24"></p>
<p>    Yeşil ok işareti yerine FireBug kendi böcek ikonun koymuş. Böcek ikonu eğer Javascript  panel veya net panel aktifleştirilirse normal rengini alıyor. Farenin imlecini  üzerine getirince kaç sitede aktif olduğu bilgisini gösteriyor.</p>
<p><img src="/images/firebug_uzer_gel.gif" alt="Fare üzerine gelince" width="191" height="64"></p>
<p>    Önceki sürüm da olan <strong>bu sitede FireBug&#8217;ı kullanma</strong> özelliği biraz daha  geliştirilmiş. Aktif site listesinin bulunduğu ayrı bir pencere ile bu kısım  geliştirilmiş.</p>
<p><img src="/images/site.gif" alt="Site" width="300" height="309"></p>
<h6>Birlikte Aç Ekranı</h6>
<p><img src="/images/birlikteac.gif" alt="Birlikte aç" width="300" height="222" border="0"></p>
<p>Belki birçok kişi için önemsiz gibi  görünen bir özellik ancak benim için çok önemli ve kullanışlı bir ekleme oldu.  Çünkü buradan kopyalayıp yapıştırmak sorun oluyor, koddan başka içerikleride  alıyordu falan ve her defasında kopyala yapıştır gına getiriyordu bazı  projelerde.</p>
<p>  Bu ekrandan açmak istediğimiz editörleri seçebiliyoruz ekleyip çıkarabiliyoruz.</p>
<h6>Suspend/Resume Firebug</h6>
<p><img src="/images/suspend_resume.gif" alt="Suspend/Resume" width="188" height="97" border="0"></p>
<p>Yeni eklenen bu özellik sayesinde FireBug&#8217;ın tüm panellerini bir tık ile askıya alabiliyoruz ve daha sonra bu işlemi geri alabiliyoruz. Bu daha çok cep telefonundaki tek tuş gibi bir şey.</p>
<h6>Rainbow  FireBug ile javascript kodları daha anlaşılır</h6>
<p>FireBug&#8217;daki  javascript kodları renklendirme yapılmadığı için kod yığını şeklinde görünüyor  bunu aşmak için güzel bir eklenti hazırlamışlar.</p>
<p><img src="/images/renklendirme_oncesi.gif" alt="Renklendirme Öncesi" width="450" height="195" border="0"></p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/7575">https://addons.mozilla.org/en-US/firefox/addon/7575</a></p>
<p>Bu eklenti her ne kadar test aşamasında olsa da güzel bir eklenti. </p>
<p><img src="/images/renklendir.gif" alt="Renklendirme Sonrası" width="450" height="185" border="0"></p>
<p>Son olarak Firefox&#8217;um Türkçe olduğu için sanırım FireBug&#8217;ımda Türkçe oldu. İlk başta bazı sorunlar olsada kullandıkça alışıyor insan. Bazı bölümler hala İngilizce kalmış.</p>
<p>Bu arada  FireBug 1.3 çalışmalarına başlanmış bile.</p>
<h6>Kaynaklar</h6>
<ul type="disc">
<li><a href="http://ejohn.org/blog/firebug-12-released/">http://ejohn.org/blog/firebug-12-released/</a></li>
<li><a href="http://code.google.com/p/fbug/source/browse/branches/firebug1.2/docs/ReleaseNotes_1.2.txt" title="http://code.google.com/p/fbug/source/browse/branches/firebug1.2/docs/ReleaseNotes_1.2.txt">http://code.google.com/p/fbug/source/browse/branches/firebug1.2/docs/ReleaseNotes_1.2.txt</a> </li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</a></li>
<li><a href="http://www.railsjedi.com/posts/24-Firebug-1-2-Excitement">http://www.railsjedi.com/posts/24-Firebug-1-2-Excitement</a> açılmıyorsa <a href="http://64.233.183.104/search?q=cache:nJW1FmPsOkUJ:www.railsjedi.com/posts/24-Firebug-1-2-Excitement+Firebug+1+2+Excitement&#038;hl=en&#038;ct=clnk&#038;cd=1&#038;client=firefox-a">http://64.233.183.104/search?q=cache:nJW1FmPsOkUJ:www.railsjedi.com/posts/24-Firebug-1-2-Excitement+Firebug+1+2+Excitement&#038;hl=en&#038;ct=clnk&#038;cd=1&#038;client=firefox-a</a></li>
<li><a href="http://ajaxian.com/archives/firebug-12-beta-for-firefox-3-rc-1">http://ajaxian.com/archives/firebug-12-beta-for-firefox-3-rc-1</a></li>
<li><a href="http://blog.mozilla.com/about_mozilla/2008/08/25/firebug-12-released/">http://blog.mozilla.com/about_mozilla/2008/08/25/firebug-12-released/</a></li>
<li><a href="http://www.ajaxonomy.com/2008/javascript/firebug-12-released">http://www.ajaxonomy.com/2008/javascript/firebug-12-released</a></li>
<li><a href="http://ajaxian.com/archives/firebug-12-the-final-release-is-out-there">http://ajaxian.com/archives/firebug-12-the-final-release-is-out-there</a></li>
<li><a href="http://ostatic.com/171732-blog/firebug-group-releases-1-2">http://ostatic.com/171732-blog/firebug-group-releases-1-2</a></li>
<li><a href="http://justtalkaboutweb.com/2008/04/09/firebug-12-works-with-firefox-3-beta-5/">http://justtalkaboutweb.com/2008/04/09/firebug-12-works-with-firefox-3-beta-5/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/firebug-12-ve-yenilikleri/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

