vehbiakdogan

Senior Sofware Developer

Html-Html5

Mobil Tarayıcı Renk Değiştirme

Merhaba arakdaşlar.

Artık herkes web sitesini mobil uyumlu yani responsive yaptırıyor ve mobil sitelere oldukça önem veriyorlar. Gün geçtikçe önemi artan mobil siteler için herkes tasarımı elinden geldiğince güzel yapmaya çalışıyor. Bizde bugün mobil tarayıcılarda Mobil Tarayıcı Renk Değiştirme işlemini nasıl yapabileceğimizi göreceğiz.

 

Mobil Tarayıcı Rengini Değiştirme

Mobil tarayıcımızın rengini neden değiştireyim dediğinizi duyar gibiyim 🙂 Tarayıcı rengini temanız ile uyumlu yaparsanız siteniz tarayıcıda bir mobil app gibi çıkar buda herkesin istediği bir durumdur.

Örneğin kişisel web sitem olan vehbiakdogan.com un tarayıcı rengini değiştirdim. Cep telefonundan girildiğinde siteme aşağıdaki şekilde bir görüntüyle karşılaşacaksınız 🙂

 

Adres Çubuğunun rengine bakarsanız web sitem ile birleşik gibi görünüyor.

 

 

 

 

 

 

 

Şimdi tarayıcı rengimizi nasıl değiştireceğiz bakalım.

<!-- Chrome, Firefox OS ve Opera -->
<meta name="theme-color" content="#3498db">
<!-- Windows Phone -->
<meta name="msapplication-navbutton-color" content="#3498db">
<!-- iOS Safari -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#3498db">

 

 

Yukarıdaki kodu web sitenizde <head></head> tagları arasına eklerseniz sizde mobil tarayıcınızın rengini değiştirmiş olursunuz.

Not: content kısımlarını kendi renkleriniz ile değiştirmeyi unutmayınız.

Her geçen gün mobil dünyaya biraz daha geçiş yapıyoruz. Bu yüzden mobil sitemizi ne kadar optimize edebilirsek ve tasarımsal alanda güzel yaparsak o kadar çok ekmek yeriz bu işten.

Bol yazlımlı günler 🙂

DiğerHtml-Html5

jQuery Ctrl+Enter İle Post İşlemi

Twitter Google gibi büyük sitelerde görmüşünüzdür ctrl+enter ile tweet gönderme,mesaj gönderme, gmailde mail gönderme işlemi falan yapılabiliyor. bugün buna benzer bir örnek paylaşacağım size.

Mantık şu normal bir html formumuz var ve biz kullanıcı ctrl ve enter tuşuna aynı anda basmışmı bunu kontrol ettiriyoruz eğer basmışsa form ile ilgili işlemlerimizi yapıyoruz.
Hemen Örneğimizi Paylaşayım:

ctrl+enter post işlemi

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<meta name="description" content=" " />
	<meta name="keyword" content=" " /> 
	<meta name="author" content="Vehbi Akdogan" />
	<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
	<script type="text/javascript">
	$(function(){
		$.formPost = function(){
			// burda ajax ile formunuzu post ettirebilirsiniz ama ben şuan ajax kullanmayacağım 
			var mesaj = $.trim($("#mesaj").val());
			if(mesaj != "") {
				$(".mesajlar").append(' <div class="mesaj">'+ mesaj +'</div>');
				$("#mesaj").val("");
			}
		}
		
		
		$(window).keypress(function(event){
			// bir tuşa tıklandığında bu fonksiyonumuz çalışacak
			if(event.which == 10 && event.ctrlKey) // enter ve ctrl ye aynı anda basılmışmı diye kontrol ediyoruz
				$.formPost(); // basılmışsa post işlemi gerçekleşsin
			
			
		});
	});
		
	</script>
	<style type="text/css">
		.mesaj {
			width:100%;
			padding:5px;
			box-sizing: border-box;
			-webkit-box-sizing: border-box;
			border-bottom:1px dashed #ddd;
			margin-bottom:5px;
		}
		button,textarea {
			display:block;
			margin-top:5px;	
		}
		.mesajlar {margin-top:20px;}
	</style>
</head>
<div style="width:500px;margin:0 auto">
 <form action="#" method="post" id="forms">
 	<label>Mesajınız</label>
 	<textarea name="mesaj" id="mesaj" cols="30" rows="10"></textarea>
 	<button type="post">Gönder</button>
 </form>
 <div class="temizle"></div>
 <div class="mesajlar"></div>
 
 </div>
</body>
</html>


Sayfada birden fazla formunuz olabilir bunun içinde kullanıcının hangi formda olduğunu bulmak için diyelimki 1. formda textarea nın içinde onu target methodu ile alıp parent methodu ile de forma geçiş yapabilirsiniz. geliiştirmek size kalmış ama temel mantık yukarıdaki yaptığım şekilde işliyor.

DEMO

Html-Html5Javascript-jQuery

Css İle Çift-Tek İndisli Elemanları Seçmek

Bazen çift-tek indisli elemanlara farklı stiller vermek istiyoruz. ve hemen jQuery ile odd seçicisini kullanarak stil veriyoruz.

Şimdi css nin bize sunmuş olduğu niteliklerle çift ve tek indisli elementlerimizi seçmeyi görelim.
Şöyle bir html yapımız olsun.

<ul>
	<li> bordo</li>
	<li> mavi</li>
	<li> bordo</li>
	<li> mavi</li>
	<li> bordo</li>
	<li> mavi</li>
	<li> bordo</li>
	<li> mavi</li>
	<li> bordo</li>
	<li> mavi</li>
	<li> bordo</li>
	<li> mavi</li>
</ul>

Css Kodumuz:



ul li {
		width:200px;
		padding:5px;
		list-style: none;
		text-align: center;
		font:16px arial;
		color:#fff;
}
ul li:nth-child(2n + 1) {
	background: #A70529;
}
ul li:nth-child(2n) {
	background: #2CB0E9;
}



Css Kodlarımızı açıklayacak olursak;

nth-child() çocuk elementleri seçmemize yarar. örn: ul li:nth-child(3) gibi.

Bizim yaptığımız işlem çocuk seçicileri biraz daha genelleştirmek oldu yani direk 2-3-5 gibi sayılar vermek yerine genel tanım yaptık.
matematiktende bileceğiniz gibi 2n çift sayıyı temsil eder bizde çift indisli çocukları 2n ile seçtik.
2n çift olduğuna göre 2n+1 kesin tektir bunuda matematik bize söylüyor 🙂 bizede tek indisli çocukları seçmek için 2n+1 yazmak kalıyor 🙂

Demo :

  • bordo
  • mavi
  • bordo
  • mavi
  • bordo
  • mavi
  • bordo
  • mavi
  • bordo
  • mavi
  • bordo
  • mavi

Bol Kodlu Günler 🙂

Css-Css3Html-Html5

jQuery offset() kullanımı

jQuery offset methodu seçmiş olduğumuz bir elementin başlangıca uzaklığını verir. yani şöyle ki bir div elemeni seçtik ve bunun üst köşte noktasının kordinantlarını almak istiyoruz bunu offset methodu kullanarak çok rahat alabiliriz.

Parametreler

top: tarayıcının üst kısmına ne kadar uzakta olduğunu gösterir.
left: Tarayıcının yan tarafından ne kadar uzakta olduğunu gösterir.

Kullanımı

Bir Elemente ait top left değerini nasıl alacağımıza bakalım:


        <span id="x"></span>
	<span id="y"></span>
	<div class="yer"></div>

Html yapımız böyle olsun.


<style type="text/css">
	*,body {
		padding:0;
		margin:0;
	}
		.yer {
			width:200px;
			height:200px;
			background:#555;
		}
	</style>

Css Dosyamız divimiz belli olsun diye background verdim.

Jquery kodlarımız:

$(function(){
			var pozisyon = $(".yer").offset(), // fonksiyonumuz 
				x = $("span#x"), // left değerini yazdıracağımız element
				y = $("span#y"); // top değerini yazdıracağımız element
			x.html(pozisyon.left); // left değerini yazdırdık
			y.html(pozisyon.top); // top değerini yazdırdık
});

Şeklinde x ve y değerlerini alabiliyoruz.

Şimdi Değiştirmeye bakalım html ve css aynı şekilde olsun js dosyamıza eklemeler yapalım.

$(function(){
			var pozisyon = $(".yer").offset(), // fonksiyonumuz 
				x = $("span#x"), // left değerini yazdıracağımız element
				y = $("span#y"); // top değerini yazdıracağımız element
							
			$(window).mousemove(function(e){
				$(".yer").offset({
					"top" 	: 	e.pageY,
					"left"	: 	e.pageX
				});
				x.html(e.pageY); // left değerini yazdırdık
				y.html(e.pageX); // top değerini yazdırdık
			});
			
			
		});


Mousenin kordinantlarını dive verdik. ( mouse takip eden reklam uygulamasıda yapmış olduk 🙂 )

Demo : Demoya Bak

Html-Html5Javascript-jQuery

jQuery Kar Yağdırma Effekti

Merhaba arkadaşlar yeni yıl yaklaşıyor. Erzurumda bu yıl pek kar göremediğimiz için bende hiç deiğilse web sitemde kar yağsın diye bir eklenti hazırladım.
Eklentimi sizlerle de paylaşmak istiyorum.
Eklentinin Adı akdoganKarEffect

Evet şimdi nklentimizi nasıl Kullanacağımıza bakalım.
Github üzerinden anlatım yaptım githubdan da bakabilirsiniz.

akdoganKarEffect Kullanımı

Öncelikle jquery kütühanesini ve eklentimizi sayfaya dahil ediyoruz.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="jquery.akdoganKarEffect.js"></script>

Daha Sonra Eklentimizi Çalıştırıyoruz.

	<script type="text/javascript">
		$(function(){
			$(document).akdoganKarEffect({
				minBoyut:15, // minimum kar tanesi boyutu default değer 10
				maxBoyut:25, // maximum kar tanesi boyutu default değer 20
				karHizi:1000, // kar tanesi eklenme hızı default değer 500
				karTanesiRengi: "#fff", // kar tanesi rengi  default değer #FFFFFF
			});
		});
	</script>

Evet Kullanımı bu kadar kolay şimdi Parametrelerimize bir göz atalım

Methodlar Ve Kullanımı

  • minBoyut: Minimum Kar Boyutunu Belirler.Default değeri 10 dur.
  • maxBoyut: Maximum kar tanesi boyutunu belirler. default değeri 20 dir.
  • karHizi: Kar tanelerinin ne kadar sıklıkta doğacağını belirler. Default değeri 500ms dir.
  • karTanesiRengi: Kar tanelerinin rengini belirler. Default değeri #ffffff (beyaz) dır.

DEMO

DOWNLOAD

Html-Html5Javascript-jQuery

jQuery GeriSayım Sayacı Eklentisi CountDown

zamanlı işlemler yaptıran ve ne kadar zaman kaldığını kulanıcıya göstermek isteyenler için basit ve kullanışlı bir geri sayım sayacı hazırladım.
Tabi durduk yere hazırlamadım bana lazım oldu yaptım yapmışken sizlerle de paylaşayım dedim.

Öncelikle Eklentimizi Github üzerinden İndiriyoruz.

akdoganSayac Kullanımı

Eklentimizin 3 parametresi var

Gün: Default Değeri 10
Saat: Default Değeri 24
Dakika: Default Değeri 60
Saniye: Default Değeri 60

Öncelikle jQuery Kütüphanesini Ve Eklenti Dosyamızı Çağırıyoruz.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="akdoganSayac.js"></script>

Daha Sonra Eklentimizi Çalıştırıyoruz.

<script type="text/javascript">
        $(function(){
           	$("#akdoganSayac").akdoganSayac({
		'gun' : 10, 
		'saat' : 3, 
		'dakika' : 2,
		'saniye' : 20
	});
    });
    </script>

Şeklinde Kullanabilirsiniz.

Tasarım Değiştirmek için Css İle Müdahale edebilirsiniz.

Örnek:

       span.gun {
	color:#aaa;
}
span.saat {
	color:#ccc;
}
span.dakika {
	color:#ddd;
}
span.saniye {
	color:#eee;
}
span.min {
	font-size: 20px;
}

Eklentimizi Kullanmka Bu kadar kolay 🙂

Çalışan canlı örneğimiz için Tıklayın

Html-Html5Javascript-jQuery

Javascript Saat Yapalım

Genelde sorulan bir konu olduğu için blogumda bir saat örneği yapmaya karar verdim. Javascript kullanarak saat yapmak için öncelikle javascriptin Date() Sınıfını kullanmamız gerekiyor.

Javascriptte tarih ile ilgili işlemler Date sınıfı ile yapılıyor.

Yeri gelmişken söyleyelim javascriptte de sınıf başlatmak için new anahtar kelimesi kullanılıyor.

Gerekli açıklamalarımızı yaptığımıza göre kodlarımızı yazabiliriz.

Kodlarımız aşağıdaki gibi olacak.

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>Vehi Akdoğan - jQuery İle Saat Yapımı</title>
	<script type="text/javascript" src="http://vehbiakdogan.com/demolar/_jq.js"></script>
	<script type="text/javascript">
		$(function(){
			$.saat = function(){
				var tarih = new Date(),
				saat = tarih.getHours(), // Saat
				dakika = tarih.getMinutes(), // Dakika
				saniye = tarih.getSeconds(); // saniye
				
				if( saat <9 ) saat = "0" + saat;
				if( dakika <9 ) dakika = "0" + dakika;
				if( saniye <9 ) saniye = "0" + saniye;
				
				$("#saat").html("<span class='saat'>" + saat + "</span>:<span class='dakika'>" + dakika + "</span>:<span class='saniye'>" + saniye + "</span>");
			
			}
			setInterval("$.saat()",1000);
			
			
		});
		
		
	</script>
	<style type="text/css">
		#saat {
			position:absolute;
			width:500px;
			hieght:100px;
			top:50%;
			left:50%;
			margin-top:-80px;
			margin-left:-250px;
			overflow:hidden;
			font:128px arial;
			color:#bbb;
		}
		span.saat {
			color:#aaa;
		}
		span.dakika {
			color:#cc;
		}
		span.saniye {
			color:#eee;
		}
	</style>
</head>
<body>
	<div id="saat"></div>
</body>
</html>



Javascript Kodlarımızı Açıklarsak:

$.saat Adında bir Fonksiyon oluşturduk. $.saat = function(){…} şeklinde.

var tarih = new Date() Tarih Sınıfımızı başlattık.
saat = tarih.getHours() o anki saatimizi aldık
dakika = tarih.getMinutes() O anki dakikayı aldık
saniye = tarih.getSeconds() o anki saniyeyi aldık

daha sonra saat,saniye,dakika yı kontrol ettirip sıfırdan küçük ise başına 0 ekledik.

Ve daha sonra #saat id li divimizin içine yazdırdık.

Benim span kulanmamın sebebi renk vermek içindi siz isterseniz kullanmayabilirsiniz.

Demo

Html-Html5Javascript-jQuery

jQuery imza Eklentisi

Merhaba arkadaşlar kurumsal şirketlerde çalışanlar bilir genelde şirkette yapılan tüm sitelerde sitenin altına yapan şirketin logosu eklenir.

Çalıştığım ajansta bizde yaptığımız her sitenin altına logomuzu ekliyoruz ve her site için aynı kodları yazmak bir zamandan sonra sıkıcı geliyor bende bu yüzden jQuery imza eklentisi adında bir eklenti yazdım.

jQuery imza eklentisi

Öncelikle Eklentimizi Buradan İndiriyoruz.

Daha sonra html sayfamızda jQuery kütüphanesini ve Yazmış olduğum imza.js Dosyasını çağırıyoruz.

Ve eklentimizi çalıştırıyoruz.

 

<!DOCTYPE html>
<html>
<head>
	<title>Vehbi Akdoğan imza.js </title>
	<meta charset="utf-8">
	<meta name="description" content="" />
	<meta name="keyword" content="" />
	<meta name="author" content="Vehbi Akdogan" />
	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
	<script src="imza.js"></script>
	<script type="text/javascript">
	$(function(){
		$('body').imza({
			metin: 'Design And Code By', // üzerine geldiğinde görünecek metin. varsayılan olarak design And Code By
			url : 'http://vehbiakdogan.com', // Tıklandığında yönlendirilecek adres. varsayılan olarak boş
			logoYol: 'logo.png', // şirket logosunun yolu. varsayılan olarak style/images/logo.png 
			color : '#000' // girilen metnin rengi. varsayılan olarak #000
		});
	});
	</script>
	
	
</head>
<body>

</body>
</html>

Gerekli Açıklamaları Kod İçerisinde Yazdım.

Demo

Eklentim ücretsizdir isteyen herkes github üzerinden indirebilir

Html-Html5Javascript-jQuery

Css3 Animation kullanımı

Merhaba arkadaşlar sizlere css3 ile gelen bir özellik olan animation özelliğinden bahsetmek istiyorum.
animation özelliği sayesinde artık sitemizde flasha ihtiyaç duymadan animasyon yapabiliyoruz.

Nasıl yapılır diye bakacak olursak:

@keyframes animation_name

@keyframes ile css kodumuzda animasyon ile ilgili bilgiler yazılır.


@keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* firefox için */
		@-moz-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* safari ve chrome için */
		@-webkit-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* opera için */ 
		
		@-o-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}

Açıklayacak olursak renkDegistir adında bir keyframes oluşturduk ve animasyonun yarısındayken renk #f00 biterken de #000 olmasını söyledik.

Keyframes in iki türlü kullanımı mevcut bir diğeri ise from do (başlangıç bitiş) mantığı onada bir örnek verecek olursak

@keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-moz-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-webkit-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-o-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}

arkaplanDegistir adında keyframes oluşturduk ve rengini başlangıçta #ddd bitişte #bbb olmasını belirttik.

 

Evet Arkadaşlar animasyonumuzu oluşturduk sıra geldi kullanmaya kullanmak için önce bir yapı hazırlayalım


<!DOCTYPE html>
<html>
<head>
	<title>Vehbi Akdoğan Css3 animation kullanımı </title>
	<meta charset="utf-8">
	<meta name="description" content="" />
	<meta name="keyword" content="" />
	<meta name="author" content="Vehbi Akdogan" />

</head>
<body>
<div class="rengiDegisenYazi"> Bu Yazının rengi değişecek </div>
<div class="arkaplaniDegisenYazi"> Bu Yazının Arkaplanı değişecek </div>



</body>
</html>

Evet daha sonra animasyonlarımızı uygulamak için css nin animation özelliğine göz atalım şimdi.

Animation Kullanımı

animation-name: Oluşturduğumuz keyframesin adını burda yazıyoruz.
animation-duration: Animasyonumuzun tamamlanma süresini yazıyoruz. (örn: 2s)
animation-delay: Animasyonunun gecikme süresidir. 1s dersek animasyonumuz 1s sonra başlar.
animation-iteration-count: Animasyonun kaç kere tekrarlanacağını belirtiriz. alabileceği değerler (1,2,3,4,….,infinite). infinite dersek sonsuz kere tekrar eder.

animation-direction: Animasyonunun yönünü belirtmemizi sağlar.
animation-play-state: Animasyonunun çalışma özelliğini burda veriyoruz alabileceği değerler: running,paused varsayılan olarak running yanı çalışsın şeklindedir.
Tabiki bu kadr çok kod 1 animasyon için kullanırsak o işin içinden çıkılmaz 🙂 bunun için sadece animate kullanarak tüm özellikleri tanımlayacağız

tam Örneğimizi verecek olursak :

 

<!DOCTYPE html>
<html>
<head>
	<title>Vehbi Akdoğan Css3 animation kullanımı </title>
	<meta charset="utf-8">
	<meta name="description" content="" />
	<meta name="keyword" content="" />
	<meta name="author" content="Vehbi Akdogan" />
	
	<style type="text/css">
		*,body {
			padding:0;
			margin:0;
		}
	
		@keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* firefox için */
		@-moz-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* safari ve chrome için */
		@-webkit-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* opera için */ 
		
		@-o-keyframes renkDegistir {
			50% {
				color:#f00;
			}
			100% {
				color:#000;
			}
		}
		/* diğer bir kullanım */
		@keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-moz-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-webkit-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		@-o-keyframes arkaplanDegistir {
			from{
				background:#ddd;
			}
			do {
				background: #bbb;
			}
		}
		
		.rengiDegisenYazi,.arkaplaniDegisenYazi {
			color:#343434;
			padding:5px 10px;
		}
		.rengiDegisenYazi {
			-webkit-animation:renkDegistir .5s linear .5s infinite alternate;
			-moz-animation:renkDegistir .5s linear .5s infinite alternate;
			-o-animation:renkDegistir .5s linear .5s infinite alternate;
			animation:renkDegistir .5s linear .5s infinite alternate;
		}
		.arkaplaniDegisenYazi {
			animation:arkaplanDegistir .5s linear .5s infinite alternate;
			-webkit-animation:arkaplanDegistir .5s linear .5s infinite alternate;
			-moz-animation:arkaplanDegistir .5s linear .5s infinite alternate;
			-o-animation:arkaplanDegistir .5s linear .5s infinite alternate;
		}
		body {
			animation:arkaplanDegistir 1s linear 1s infinite alternate;
			-moz-animation:arkaplanDegistir 1s linear 1s infinite alternate;
			-webkit-animation:arkaplanDegistir 1s linear 1s infinite alternate;
			-o-animation:arkaplanDegistir 1s linear 1s infinite alternate;
		}
		
	</style>
	
	
	
</head>
<body>
<div class="rengiDegisenYazi"> Bu Yazının rengi değişecek </div>
<div class="arkaplaniDegisenYazi"> Bu Yazının Arkaplanı değişecek </div>



</body>
</html>

Demo

Css-Css3Html-Html5