<?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>ftoptas blog &#187; plugin</title>
	<atom:link href="http://ftoptas.com/tag/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>http://ftoptas.com</link>
	<description>[beta]</description>
	<lastBuildDate>Mon, 30 Jan 2012 20:19:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>jQuery ile Tooltip eklentisi yapalım</title>
		<link>http://ftoptas.com/jquery-ile-tooltip-eklentisi-yapalim/</link>
		<comments>http://ftoptas.com/jquery-ile-tooltip-eklentisi-yapalim/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 14:18:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[eklenti]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tooltip]]></category>

		<guid isPermaLink="false">http://ftoptas.com/?p=259</guid>
		<description><![CDATA[Uzun zamandır jQuery ile alakalı]]></description>
			<content:encoded><![CDATA[<p>Uzun zamandır <a href="http://jquery.com" target="_blank">jQuery </a>ile alakalı yazı yazmak istiyordum. Zaman bulamadığım için bir türlü yazamamıştım. Şimdi bunu telafi etmek için güzel bir uygulama yapacağız.<br />
Yapacağımız uygulama, herhangi bir linkin üzerine gelince çıkan bilgilendirme mesajlarından (tooltip) yapmak.</p>
<p>Bu uygulamayı yapmak için temel <a href="http://www.w3schools.com/sitemap/sitemap_references.asp" target="_blank">HTML/CSS</a> ve <a href="http://www.w3schools.com/jsref/default.asp" target="_blank">Javascript </a>bilginizin olması sizin için daha olur.<br />
Kullanacağımız tooltipleri 2 şekilde yapacağız.</p>
<ol>
<li>İçerik bir div olacak. İçerisine resim link gibi elemanlar eklenebilecek.</li>
<li>Tooltip&#8217;in içeriği linkin veya <strong><span style="color: #0000ff;">alt</span></strong> değeri olacak. Yani sadece metin olabilir.</li>
</ol>
<ul></ul>
<p><strong>Birinci Uygulama</strong></p>
<p>Tooltip bir div bölmesi olacak ve bu bölmenin z-index değeri farklı olduğundan diğer elemanların üzerinde gibi duracak. Fakat bunun için <span style="color: #0000ff;"><strong>position</strong> </span>değerinin <span style="color: #0000ff;"><strong>absolute</strong></span> olması lazım.<br />
Önce HTML kısmını yapalım.</p>
<p><span id="more-259"></span></p>
<pre name="code" class="html">&lt;span class="tooltip"&gt;
&lt;a class="t1" href="#"&gt;link1&lt;/a&gt;
&lt;a class="t2" href="#"&gt;link2&lt;/a&gt;
&lt;a class="t3" href="#"&gt;link3&lt;/a&gt;
&lt;a class="t4" href="#"&gt;link4&lt;/a&gt;
&lt;/span&gt;
&lt;div id="tooltip" class="a-t1"&gt;1&lt;/div&gt;
&lt;div id="tooltip" class="a-t2"&gt;2&lt;/div&gt;
&lt;div id="tooltip" class="a-t3"&gt;3&lt;/div&gt;
&lt;div id="tooltip" class="a-t4"&gt;4&lt;/div&gt;</pre>
<p>span içine aldığımız linklerin üzerine geldiğimizde kendisine bağlı div bölmesi görünecek. Her link ile div arasındaki bağlantıyı şöyle yaptık: Her linke ait div&#8217;in sınıfı &#8220;<span style="color: #0000ff;"><strong>a-[linkin sınıf ismi]</strong></span>&#8221; şeklinde olacak. Yani sınıfı &#8220;<span style="color: #0000ff;"><strong>t1</strong></span>&#8221; olan linke bağlı div&#8217;in sınıfı &#8220;<strong><span style="color: #0000ff;">a-t1</span></strong>&#8221; olacak.<br />
Bölmeler için herhangi bir şey yazmadığımız için şuan tüm bölmeler görünüyor. Şimdi de css kodlarını yazalım:</p>
<pre name="code" class="css">#tooltip{
z-index:100;
position:absolute;
padding:5px;
-moz-border-radius:4px;
font-weight:bold;
display:none;
border:1px solid #76601D;
color:#635529;
background-color:#F7FB91;
}</pre>
<p>Burdaki <strong><span style="color: #0000ff;">&#8220;-moz-border-radius&#8221;</span></strong> değeri köşelerin yuvarlanması için kullanılıyor. Fakat internet explorer&#8217;da çalışmıyor.<br />
Bunları da yazdıktan sonra jQuery kısmına geçelim(jQuery&#8217;yi <a href="http://jquery.com" target="_blank">şuradan </a>indirebilirsiniz.):</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
$(document).ready(function(){
$("span.tooltip a").mouseover(function(e){
e = e || window.event;
xx = e.pageX-10;
yy = e.pageY+30;
$("div.a-"+$(this).attr("class")).css({"left":xx,"top":yy}).fadeIn("fast");
}).mouseleave(function(){
$("div.a-"+$(this).attr("class")).fadeOut("fast");
});
});
&lt;/script&gt;</pre>
<p>2.satır: $(document).ready() fonskiyonunun içine yazdığımız jQuery kodları sayfa yüklendiği anda çalışır.<br />
3.satır: <span style="color: #0000ff;"><strong>&lt;span class=&#8221;tooltip&#8221;&gt;</strong></span> bölümünün içindeki herhangi bir linkin üzerine fareyi getirdiğimizde yani <span style="color: #0000ff;"><strong>mouseover()</strong></span> olduğunda gerçekleşecek fonksiyon<br />
4.satır: farenin koordinatlarını öğrenmek için &#8220;<span style="color: #0000ff;"><strong>e</strong></span>&#8221; değerini tanımladır.<br />
5.satır: xx değeri farenin x koordinatı<br />
6.satır: yy değeri farenin y koordinatı. -10 ve +30 ile toplayarak linkin sol alt kısmında görünmesini sağlıyoruz.<br />
7.satır: <span style="color: #0000ff;"><strong>$(this).attr(&#8220;class&#8221;)</strong></span> fonksiyonun döndürdüğü değer üzerinde bulunduğumuz linkin sınıfıdır. &#8220;<span style="color: #0000ff;"><strong>div.a-&#8221;+[link sınıfı]</strong></span>&#8221; şeklinde oluşturduğumuz div&#8217;lerin &#8220;<span style="color: #0000ff;"><strong>top</strong></span>&#8221; ve &#8220;<strong><span style="color: #0000ff;">left</span></strong>&#8221; değerinin farenin koordinalatı olarak ayarlıyoruz. fadeIn() fonksiyonuyla gizli olan pencereyi geri getiriyoruz. Animasyon hızı olarak &#8220;<strong><span style="color: #0000ff;">slow</span></strong>&#8220;, &#8220;<span style="color: #0000ff;"><strong>normal</strong></span>&#8221; veya &#8220;<span style="color: #0000ff;"><strong>fast</strong></span>&#8221; değerlerini kullanabilirz.<br />
8: Fareyi linkin üzerinde çektiğimiz zaman yani <span style="color: #0000ff;"><strong>mouseout()</strong></span> olduğunda açılan pencerenin kapanması için gereken fonksiyonu yazıyoruz. mouseover() fonksiyonunun döndürdüğü değer <strong><span style="color: #0000ff;">jQuery </span></strong>olduğu için <strong><span style="color: #0000ff;">mouseover().mouseout()</span></strong> şeklinde kullanabiliyoruz. Ardarda istediğimiz kadar fonksiyon tanımlayabiliriz. Tabi döndürdükleri değer jQuery olmak şartıyla.<br />
9: Pencereyi gizlemek için <span style="color: #0000ff;">f<strong>adeOut()</strong></span> fonksiyonunu kullanıyoruz.</p>
<p>Şimdi yaptığımız uygulamayı görebiliriz.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://ftoptas.com/wp-content/uploads/2009/07/1.png" alt="1" width="259" height="115" /></p>
<p style="text-align: left;">css dosyasında bazı değişiklikler yaparak tooltip&#8217;in farklı renklerde görünmesini sağlayabiliriz.</p>
<p style="text-align: center;">
<img class="aligncenter" src="http://ftoptas.com/wp-content/uploads/2009/07/2.png" alt="" width="191" height="66" /><br />
<img class="aligncenter" src="http://ftoptas.com/wp-content/uploads/2009/07/3.png" alt="" width="169" height="70" /></p>
<p>Farklı renkler için css kodlarını şu şekilde değiştirebiliriz:</p>
<p>kırmızı:</p>
<pre name="code" class="css">
border:1px solid #C40505;
color:#C40505;
background-color:#F5C4C4;
</pre>
<p>yeşil:</p>
<pre name="code" class="css">
border:1px solid #0D5708;
color:#0D5708;
background-color:#C8FBC4;
</pre>
<p>veya transparan bir arkaplan yapabiliriz. Bunun için background-color değerine herhangi birşey yazmayıp şu kodu ekleriz:</p>
<pre name="code" class="css">
background-image:url("trasparan.png")
</pre>
<p><strong>İkinci Uygulama</strong></p>
<p>Bir önceki kısımda her link için bir div oluşturmuştuk. Bu bölümde bunları oluşturmayacağız. jQuery ile bir div oluşturup bu div&#8217;in içeriğini de linkin alt değeri yapacağız. Eğer tooltip olarak sadece düz bir metin görüntülememiz gerekiyorsa bu yöntem daha uygun olur.</p>
<p>Bunun için css kodlarında herhangi bir değişiklik yapmamıza gerek yok. Fakat Html kısmını şu şekilde yapmamız lazım. tooltipi olacak linkin class&#8217;ını &#8220;<strong><span style="color: #0000ff;">tip</span></strong>&#8221; yapıyoruz ve bir &#8220;<span style="color: #0000ff;"><strong>alt</strong></span>&#8221; değeri atıyoruz. Örnekle görelim:</p>
<pre name="code" class="html">
&lt;a class="tip" alt="herhangi bir metin" href="#"&gt;link1&lt;/a&gt;
</pre>
<p>jQuery kısmını da şöyle yapıyoruz:</p>
<pre name="code" class="javascript">
$(document).ready(function(){
$("body").append('&lt;div id="tooltip"&gt;&lt;/div&gt;');
$("a.tip").mouseover(function(e){
e = e || window.event;
xx = e.pageX-10;
yy = e.pageY+30;
$("#tooltip").html($(this).attr("alt"));
$("#tooltip").css({"left":xx,"top":yy}).fadeIn("fast");
}).mouseout(function(){
$("#tooltip").fadeOut("fast");
});
});
</pre>
<p>2. satır: tooltipi göstereceğimiz div&#8217;i oluşturuyoruz. Bunu nereye oluşturduğumuz önemli değil. Çünkü koordinatları farenin koordinatları şeklinde değiştireceğiz.</p>
<p>3.satır: fare class&#8217;ı <span style="color: #0000ff;"><strong>tip </strong></span>olan bir linkin üzerine geldiğinde oluşacak olaylar</p>
<p>7.satır: oluşturduğumuz div&#8217;in içeriğini linkin alt değeri yapıyoruz.</p>
<p>Geri kalan kısımlar aynı. Bu javascript kodlarını ayrı bir dosyaya koyup diğer projelerinizde de kullanabilirsiniz. Ama css kodlarını da dahil etmemiz lazım. Eğer bu kısmı da jQuery ile yapmak istersek  7. satırdan sonra şu kodları ekleyebiliriz:</p>
<pre name="code" class="javascript">
$("#tooltip").css({
"z-index":1001,
"position":"absolute",
"padding":"5px",
"-moz-border-radius":"5px",
"border":"1px solid #0D5708",
"background-color":"#C8FBC4",
"color":"#0D5708",
"font-weight":"bold"
});
</pre>
<p>Bu kısmı da ekledikten sonra herhangi bir css dosyasına ihtiyacımız kalmadı. Sadece jQuery kodlarını kullanarak bir tooltip eklentisi yapmış olduk. jQuery kodlarının son hali şöyle oldu:</p>
<pre name="code" class="javascript">
$(document).ready(function(){
$("body").append('&lt;div id="tooltip"&gt;&lt;/div&gt;');
$("a.tip").mouseover(function(e){
e = e || window.event;
xx = e.pageX;
yy = e.pageY+30;
$("#tooltip").html($(this).attr("alt"));
$("#tooltip").css({
"z-index":1001,
"position":"absolute",
"padding":"5px",
"-moz-border-radius":"5px",
"border":"1px solid #0D5708",
"background-color":"#C8FBC4",
"color":"#0D5708",
"font-weight":"bold"
});
$("#tooltip").css({"left":xx,"top":yy}).fadeIn("fast");
}).mouseout(function(){
$("#tooltip").fadeOut("fast");
});
});
</pre>
<p>Örnek uygulamayı <a href="http://test.ftoptas.com/jquery/tooltip">şuradan </a> ve <a href="http://test.ftoptas.com/jquery/tooltip/index2.htm">şuradan </a>görebilirsiniz.<br />
Kaynak kodları da <a href="http://test.ftoptas.com/jquery/tooltip/tooltip.rar">şuradan </a>indirebilirsiniz.<br />
Sadece bu kodlardan oluşan bir .js dosyasını sayfadan çağırarak basit bir tooltip yaptık. Zaman oldukça yeni yazılar da yayınlayacağım. Kolay gelsin.</p>
]]></content:encoded>
			<wfw:commentRss>http://ftoptas.com/jquery-ile-tooltip-eklentisi-yapalim/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

