<?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>t-infection.com &#124; tasarım oyuncakları, web teknolojileri &#187; removeclass</title>
	<atom:link href="http://www.t-infection.com/tag/removeclass/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.t-infection.com</link>
	<description>tasarım oyuncaklarımız ve web teknolojilerine dair kısa kısa...</description>
	<lastBuildDate>Sat, 02 Apr 2011 17:47:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Css3, Xhtml ve jQuery ile Dikey Tab Menü Yapımı</title>
		<link>http://www.t-infection.com/css3-xhtml-ve-jquery-ile-dikey-tab-menu-yapimi/</link>
		<comments>http://www.t-infection.com/css3-xhtml-ve-jquery-ile-dikey-tab-menu-yapimi/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 00:58:10 +0000</pubDate>
		<dc:creator>webthese</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Xhtml/Css]]></category>
		<category><![CDATA[addclass]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[Css3]]></category>
		<category><![CDATA[dikey tab menu]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[menü]]></category>
		<category><![CDATA[removeclass]]></category>
		<category><![CDATA[Tab]]></category>
		<category><![CDATA[tab menu]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[Xhtml]]></category>

		<guid isPermaLink="false">http://www.t-infection.com/?p=1206</guid>
		<description><![CDATA[ Uzun bir aradan sonra yeniden merhaba. Bu makalemizde yine sizlerle bir navigasyon uygulaması paylaşacağız. 
Bu uygulamamızda Css3, Xhtml ve jQuery ile ikon destekli dikey (vertical) tab menü (veya tab navigasyon da diyebiliriz) uygulaması yapacağız. Tab menümüzü oluşturduğumuz aşamaları da makalemiz sonunda sizlerle konuşacağız. Dilerseniz hemen kodlarımızı yazmaya başlayalım.

UYGULAMA ÖNİZLEME UYGULAMA İNDİR (16kb)

&#160;


&#60;div id=&#34;menualani&#34;&#62;
&#60;div class=&#34;ikonalani&#34;&#62;

&#60;a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.t-infection.com/css3-xhtml-ve-jquery-ile-dikey-tab-menu-yapimi"><img src="http://www.t-infection.com/wp-content/uploads/2010/03/dikeytabmenu.gif" alt="" title="Css3, Xhtml ve jQuery ile Dikey Tab Menü Yapımı" width="183" height="183" class="alignleft size-full wp-image-1210" style="margin-right:10px" align="left" /></a> Uzun bir aradan sonra yeniden merhaba. Bu makalemizde yine sizlerle bir navigasyon uygulaması paylaşacağız. </p>
<p>Bu uygulamamızda <a href="http://www.t-infection.com/tag/css3">Css3</a>, <a href="http://www.t-infection.com/tag/xhtml">Xhtml</a> ve <a href="http://www.t-infection.com/tag/jquery">jQuery</a> ile ikon destekli dikey (vertical) tab menü (veya tab navigasyon da diyebiliriz) uygulaması yapacağız. Tab menümüzü oluşturduğumuz aşamaları da makalemiz sonunda sizlerle konuşacağız. Dilerseniz hemen kodlarımızı yazmaya başlayalım.</p>
<p>
<a href="http://www.t-infection.com/demo/dikeytabmenu/" class="onizleme">UYGULAMA ÖNİZLEME</a> <a href="http://www.t-infection.com/demo/dikeytabmenu.rar" class="indir">UYGULAMA İNDİR (16kb)</a>
</p>
<p>&nbsp;</p>
<p><span id="more-1206"></span></p>
<pre class="brush: xml;">
&lt;div id=&quot;menualani&quot;&gt;
&lt;div class=&quot;ikonalani&quot;&gt;

&lt;a href=&quot;#&quot; class=&quot;ikon1 aktifikon&quot;&gt;ikon 1&lt;/a&gt;
&lt;a href=&quot;#&quot; class=&quot;ikon2&quot;&gt;ikon 2&lt;/a&gt;
&lt;a href=&quot;#&quot; class=&quot;ikon3&quot;&gt;ikon 3&lt;/a&gt;

&lt;/div&gt;

&lt;div class=&quot;icerikalani&quot;&gt;
&lt;div class=&quot;icerik1 goster&quot;&gt;&lt;h2&gt;KATEGORİLER&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;XHTML / CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;JAVASCRIPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;DREAMWEAVER&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;PHOTOSHOP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;PHP / MYSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;WORDPRESS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;KISA KISA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;GENEL KONULAR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;div class=&quot;icerik2&quot;&gt;
&lt;h2&gt;HAKKIMIZDA&lt;/h2&gt;
&lt;p&gt;Sitemiz hakkında verebileceğimiz kısa bir tanıtım cümlesi ve girişi bu alana yazabiliriz. Bu alandaki yazıyı içerik2 isimli div sınıfı içine yazıyorum. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;#&quot;&gt;Hakkımızda&lt;/a&gt; &lt;a href=&quot;#&quot;&gt;RSS Takip&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;icerik3&quot;&gt;
&lt;h2&gt;BİZİ TAKİP EDİN!&lt;/h2&gt;
&lt;p&gt;Aşağıdaki bağlantılardan yararlanarak bizi farklı sosyal medya sitelerinde takip edebilirsiniz. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Friendfeed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Flickr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Youtube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>Şimdi Xhtml kodlarımızın görünümünü düzenleyecek olan Css kodlarımızı yazalım.</p>
<pre class="brush: css;">
#menualani {width:300px;display:block;float:left}

/* Menümüzün ikon alanını aşağıda tanımalamaya başlıyoruz. Sonrasında her bir menü ikonumuzu tanımlayacağız. */
.ikonalani {width:42px;display:block;float:left;position:relative;z-index:999;}

/* ikon1, ikon2 ve ikon3 için ortak stil tanımlaması yapıyoruz. Özelleştirmeleri aşağıdaki kodlarda işleyeceğiz */
/* text-indent:-9999px değeri ile ikonlarımızdaki metin bağlantıları ortadan kaldırıyoruz */

a.ikon1, a.ikon2, a.ikon3 {
text-decoration:none;
display:block;
outline:none;
text-indent:-9999px;
width:40px;
height:40px;
}

/* Şimdi ikonlarımız için özel olarak arkaplan resmi tanımlıyoruz. */

a.ikon1 {
background:#fff url(resim1.png) no-repeat center center;
margin-top:10px;
}

a.ikon2 {
background:#fff url(resim2.png) no-repeat center center;
}

a.ikon3 {
background:#fff url(resim3.png) no-repeat center center;
}

/* Menümüzde aktif olarak görünecek olan ikonu .aktifikon sınıfı içinde tanımlıyoruz. Parametrelere dikkat! */

a.aktifikon {

background-color:#ddd;
width:40px;
height:40px;
border-top:2px solid #bbb;
border-left:2px solid #bbb;
border-bottom:2px solid #bbb;
border-right:2px solid #ddd;
display:block;
-moz-border-radius:6px 0px 0px 6px; /* Firefox için köşe yuvarlatalım */
-webkit-border-radius:6px 0px 0px 6px; /* Google Chrome ve Safari için köşe yuvarlatalım */
border-radius: 6px 0px 0px 6px; /* Opera için köşe yuvarlatalım */
}

/* BU ALANDAN SONRA İÇERİK ALANIMIZI TANIMLAMAYA BAŞLAYACAĞIZ... */

/* İçerikalaninin z-index'ini ikon alanından daha düşük bir sayıyla tanımlayarak daha altta kalmasını sağlıyoruz... */
/* z:index:1 */

.icerikalani {width:250px;background:#f5f5f5;float:left;position:relative;z-index:1;display:block}

/* Dikkat! Tüm içerik isimli alanları display:none ile gizliyoruz */
.icerik1, .icerik2, .icerik3 {display:none}

.icerik1, .icerik2, .icerik3 {
background:#ddd;
color:#fff;
height:300px;
top:48px;
border:2px solid #bbb;
margin-left:0px;

/* Bu kez her bir içerik alanımız için köşe yuvarlatıyoruz. Tabiki farklı tarayıcılar için farklı kodlarla :( */
-moz-border-radius:6px;
-webkit-border-radius:6px;
border-radius: 6px;
}

/* Daha önce gizlediğimiz tüm icerik alanlarına bu sınıf eklenerek görünür hale gelecek. */
/* display:block bu gösterim için yeterli */
.goster {display:block;}

/* Bu alandan sonraki kodlar icerik isimli sınıfı güzel bir görünüme kavuşturmak için oluşturduğum css kodları */
/* Genel olarak başlık, sırasız liste [menümüz], paragraf ve bağlantı etiketlerini .icerikalani sınıfı içinde tanımladım */

.icerikalani h2 {font:bold 16px arial, verdana, sans-serif;padding:0px 10px 0px 10px;color:#333;text-shadow:0px 1px 2px #fff}
.icerikalani ul {list-style:none;margin:0;padding:0px 10px 0px 10px;}
.icerikalani li {padding:0;margin:0}
.icerikalani ul li a {text-decoration:none;color:#333;background:#ddd;font:12px arial, verdana, sans-serif;border-top:1px solid #eee;border-bottom:1px solid #ccc;padding:6px;margin:0;display:block}
.icerikalani ul li a:hover {text-decoration:none;color:#fff;background:#333;font:12px arial, verdana, sans-serif;border-top:1px solid #ccc;border-bottom:1px solid #aaa;padding:6px;margin:0;display:block;text-shadow:0px 1px 2px #fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius: 4px;
}
.icerikalani p {font:13px/24px arial, verdana, sans-serif;padding:0px 10px 0px 10px;color:#666;}
.icerikalani p a {padding:4px;background:#2e83ff;color:#fff;text-decoration:none}
.icerikalani p a:hover {padding:4px;background:#666;color:#fff;text-decoration:none}
</pre>
<p>Menümüzün fare ile tıklanışında yapacağı değişiklikleri jQuery yardımı ile tanımlayalım. </p>
<pre class="brush: jscript;">
&lt;script&gt;
$(document).ready(function() {

	$(&quot;a.ikon1&quot;).click(function() { // ikon1'e tıklandığında neler olacak?

		$(&quot;.icerik1&quot;).addClass(&quot;goster&quot;);
		$(&quot;.icerik2, .icerik3&quot;).removeClass(&quot;goster&quot;);

		$(&quot;a.ikon1&quot;).addClass(&quot;aktifikon&quot;);
		$(&quot;a.ikon2, a.ikon3&quot;).removeClass(&quot;aktifikon&quot;);

        return false;

		});

	$(&quot;a.ikon2&quot;).click(function() { // ikon2'ye tıklandığında neler olacak?

		$(&quot;.icerik2&quot;).addClass(&quot;goster&quot;);
		$(&quot;.icerik1, .icerik3&quot;).removeClass(&quot;goster&quot;);

		$(&quot;a.ikon2&quot;).addClass(&quot;aktifikon&quot;);
		$(&quot;a.ikon3, a.ikon1&quot;).removeClass(&quot;aktifikon&quot;);

		return false;

		});

	$(&quot;a.ikon3&quot;).click(function() { // ikon3'e tıklandığında neler olacak?

		$(&quot;.icerik3&quot;).addClass(&quot;goster&quot;);
		$(&quot;.icerik1, .icerik2&quot;).removeClass(&quot;goster&quot;);

		$(&quot;a.ikon3&quot;).addClass(&quot;aktifikon&quot;);
		$(&quot;a.ikon2, a.ikon1&quot;).removeClass(&quot;aktifikon&quot;);

        return false;

		});

	});
&lt;/script&gt;
</pre>
<p><strong style="color:#f91365">Uygulamamızın Detayları</strong><br />
Bu kadar kod yazdıktan ve uygulamayı oluşturduktan sonra ne yaptığımız anlatmamak olmaz değil mi :)</p>
<p>Öncelikle bu uygulamanın ne gibi bir zemin üzerine kurulduğunu anlatalım. Xhtml kodlarında dikkat ettiğiniz gibi iki tane ana sınıf bulunmakta. Bunlardan birisi sadece ikonlarımızın yer aldığı &#8220;ikonalanı&#8221; ve diğeri ise içeriğimizi yerleştirdiğimiz &#8220;icerikalanı&#8221; isimli sınıflar. </p>
<p>İkonalanı isimli sınıfımızda belli bir genişlik içinde ikonlarımızın alt alta yer almasını istedik. Ayrıca bu alanda yer alan her bir ikonumuza ikon1, ikon2 ve ikon3 diye ayrı ayrı sınıflar oluşturduk. Kodları optimum düzeyde kısaltma adına ikonların görünümündeki ortak özellikleri tek bir Css kodunda topladık. Css kodlarında yazmış olduğum açıklamalara ve kodlara dikkat ederseniz bunu görebilirsiniz. </p>
<p>Bu noktada önemli olan şu ki; hangi ikona tıklanırsa tıklansın o ikon jQuery yardımı ile &#8220;aktifikon&#8221; isimli Css sınıfını kazanmakta. Aktifikon isimli Css sınıfını içerikalanı isimli sınıfımıza göre görünüm olarak düzenleyip menü de bir bütünlük olmasını sağladık. Yine kodlar üzerinde bunu görebilirsiniz. </p>
<p>Bu aşamadan sonra içeriğimizin görüneceği ana alan olan &#8220;içerikalanını&#8221; tanımlaya geldi. Yine içerik alanı da belli bir genişlik içerisinde girmiş olduğumuz içerikleri gösteren alan olarak görevini yapacak. Dikkat çektiğimiz nokta şu; nasıl ki ikonalanında her bir ikon için ikon1, ikon2 ve ikon3 diye sınıflar oluşturduysak aynısını içerik alanı içerisinde de yapıyoruz. </p>
<p>Burada oluşturduğumuz icerik1, icerik2 ve icerik3 isimli div sınıfları fare ile hangi ikon sırasına tıklanırsa aynı ikon sırasıyla görünecek. Oldukça basit değil mi. </p>
<p>Yazdıklarımızı toparlayacak olursak iki ana sınıf içinde sıralı şekilde ikon1-icerik1, ikon2-icerik2 ve ikon3-icerik3 alanlarını tanımladık. Bu alanların görünümlerini Css&#8217;de uygun parametre ve değerler ile zenginleştirdik. Şimdi iş her bir ikona tıklayışta içeriğimizin nasıl değiştiğini anlatmaya geldi. </p>
<p><strong style="color:#f91365">jQuery Aşamasında Ne Yaptık?</strong><br />
Uygulamamızın en kolay ve belki de en can alıcı noktası da burası. Yazmış olduğumuz jQuery kodlarını incelerseniz sonuca nasıl gittiğimizi anlayabilirsiniz. </p>
<p>İlk ikon sıramızda ne gibi bir işlem yaptığımızı anlatalım. İkon1 isimli ikonumuza tıklandığında gerçekleşecek olan olayları sırayla tanımladık. İkon1&#8242;e tıklandığında jQuery&#8217;nin <a href="http://www.t-infection.com/tag/addclass">addClass</a> ve <a href="http://www.t-infection.com/tag/removeclass">removeClass</a> fonksiyonlarından yararlanarak diğer alanlarımızın Css sınıfı almasını ve/veya bunu kaldırmasını sağladık. Adından da anlaşılacağı gibi addClass bir ögeye sınıf eklemeye, removeClass ise tam tersi sınıf kaldırmaya yarıyor. </p>
<p>Şöyle ki; İkon2&#8242;ye tıklandığında önceden görünür halde olan icerik1 ve ikon1 isimli sınıflarımız yaptığımız tanımlamaya göre &#8220;goster&#8221; ve &#8220;aktifikon&#8221; isimli Css sınıfını kaybettiler. Bununla birlikte hem ikon2 hem de icerik2 isimli alanlarımız goster ve aktifikon sınıfını kazandılar. Mantığı gayet basit olan bu yöntemi her 3 durum için de uyguladık. Uzun lafın kısası 1 görünürken 2 ve 3 gizlensin ve sınıf kaybetsin, 2 görünürken 1 ve 3 gizlensin ve sınıf kaybetsin :)</p>
<p><em>(Aslına bakarsanız bu tarz bir olay gelişimi için farklı yöntemler kullanılabilir. Fakat ben jQuery&#8217;nin az kod çok iş mantığına bağlı kalarak kodları elimden geldiğince kısa tuttum)</em></p>
<p><strong style="color:#f91365">Tarayıcı Uyumu</strong><br />
Yine geldik o malum şarkıya :) Uygulamamız Firefox, Google Chrome, Safari ve Opera ile sorunsuz çalışacaktır. IE türevleri içinse durum biraz farklı. IE üzerinde sadece yuvarlak köşeler görünmeyecek ama uygulama sorunsuz çalışacaktır. IE üzerinde köşeleri yuvarlatmak için farklı yöntemler mevcut ancak ben örneğimiz üzerinde böyle bir ekleme yapmadım. Dilerseniz kaynak kodlarda değişiklik yaparak IE için farklı görünümler ortaya çıkarabilirsiniz.</p>
<p><strong style="color:#f91365">Son Olarak&#8230;</strong><br />
Uygulama üzerinde veya kod aşamasında atladığım, eksik bulduğunuz noktalar olursa lütfen yorumlarınızla beni bilgilendirin. Umarım sizler için faydalı bir anlatım ve doküman olmuştur. Bir başka makalemizde görüşmek üzere.</p>
<p><a href="http://www.t-infection.com/demo/dikeytabmenu/" class="onizleme">UYGULAMA ÖNİZLEME</a> <a href="http://www.t-infection.com/demo/dikeytabmenu.rar" class="indir">UYGULAMA İNDİR (16kb)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.t-infection.com/css3-xhtml-ve-jquery-ile-dikey-tab-menu-yapimi/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

