javascript örnek kodları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
javascript örnek kodları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Mayıs 2013 Salı

JavaScript Saat Kodları

 JavaScript ile dijital saat yapımı.


http://www.w3schools.com da bulduğum basit ama öğretici bir Javascript uygulaması. Basit olduğuna bakmayın o sitede Advanced Examples kategorisinde bulunuyor. Yani aslında bu çalışma ileri düzeyde bir JavaScript uygulaması. siteden aldığım kodları blogger'da çalışacak şekilde düzenledim ve konunun daha iyi anlaşılabilmesi için kodları Türkçeleştirmeye çalışıtm. Kodların orijinallinde saati çalıştıran fonksion body tag'ı içine onload="saatim()" yazılarak çalıştırılıyordu ben onu scriptin içine aldım. Eğer fonksiyonu onload parametresiyle çalıştıracaksanız script içindeki saatim();  yazan satırı silin ve turuncu renklli parametreyi body tagına yerleştirin. Bu durumda scripti de head taglarinin arasına yerleştirmelisiniz. Yerleştirmeyi bu şekilde yaptığınızda web sayfanız yüklendiği zaman saatim() fonksiyonu otomatik olarak çalışacak ve web tarayıcınız fonksiyon kodlarına bağlı olarak sayfa içinde id değeri saat olan HTML elamanlarını arayacak ve bulduklarının içine o anki zamanı saat, dakika ve saniye olarak yazacaktır.

Aşağıdaki kodlamada ise durum biraz farklı. Öncelikle saati yazdırmak istediğim id'si saat olan bir HTML elemanı oluşturdum. Sonra da altına Javascirpt kodlarını yerleştirdim. Burada sıralama önemli. Bir javascript kodunu sayfa içinde kullanacaksanız mutlaka etki edeceği elemanların altına yazmalısınız. Unutmayın web tarayıcınız da aynı sizin gibi kodları yukardan aşağı okur. Eğer HTML elemanını kodun altına yazarsanız browser fonksiyonu başlatan kodu bulamaz ve programınız çalışmaz(eleman içine onload parametresi yazabilirsiniz ama herzaman sağlıklı çalışmaz, önermiyorum). JavaScript programları, elemana tıklama veya yükleme sayfa olaylarının tetiklemesiyle çalışır. Kodlama yaparken bunu göz önüne almalısınız. Aşağıdaki kodlamada hangi elemanın ne iş yaptığını kısaca anlatmaya çalıştım umarım yararlı olur.

<div id="saat"></div> // saati göstereceğim HTML elemanı
<script type="text/javascript">
saatim(); // saatim fonksiyonu çağırılıyor
function saatim() // fonksiyon başlangıcı
{
var zaman=new Date(); // zaman isimli bir Date nesnesi oluşturuluyor.
var sa=zaman.getHours();// zaman nesnesinden getHours metoduyla saat bilgisi bir değişkene aktarılıyor
var da=zaman.getMinutes(); // aynı işlem getMinutes ile dakika için yapılıyor
var sn=zaman.getSeconds(); // yine saniye bilgisi için getSeconds medodu kullanılıyor

// buraya kadar kullanılan getHours, getMinutes ve getSeconds metodları JavaScript'tin standart metdolarıdır.

da=zamanAyarla(da);
sn=zamanAyarla(sn);

// Yukarıdaki iki satırda çift haneli gösterim yapmak için dakika ve saniye değerleri zamanAyarla fonksiyonuna gönderiliyor. fonksiyon kendisine gelen sayı 10 dan küçükse bu değerin önüne bir sıfır ekleyip  geri döndürüyor
document.getElementById('saat').innerHTML=sa+":"+da+":"+sn; // id değeri saat olan HTML nesnesini içine sa, da ve sn değişkenlerinin değerlerini yazıyor
setTimeout("saatim()",1000); //Her 1000ms(1saniye) de bir saatim() fonskiyonunu çalıştıran standart JavaScript fonkisyonu burası saatin gerçek bir saat gibi her saniye değer değiştirmesini sağlıyor.
}

function zamanAyarla(i) // i parametresiyle bir değer alarak fonksiyon başlar
{
if (i<10) // koşul inceleniyor i 10 dan küçükse hemen alt satırdaki işlemler yapılacak. i 10 dan büyükse doğrudan return satırına gidilecek
  {
  i="0" + i; // i değerinin önüne 0 ekleniyor(String değer, JavaScript'te değişkenler için tip koruması yoktur)
  }
return i; // bu fonksiyon işlemleri sonucunda elde edilen değer fonksiyonun çağırıldığı yere geri döndürülüyor.
}
</script>

Şayet kodlamaları doğru yaptıysak saatimiz aşağıdaki gibi çalışacaktır. Ben sadece CSS ile biraz görünümünü değiştirdim. Siz de kendi CSS tasarımınızı uygulayabilirsiniz.

Yorumlarınızı Bekliyorum

27 Mart 2012 Salı

JavaScript Faktöriyel Hesaplatan Program

Faktöriyel bir çeşit çarpım serisidir. Verilen sayıdan başlayarak bire kadar olan sayılar bir dizi haline getirilir ve birbirleri ile çarpılır. Burada hazırladığım JavaScript programı yazı kutucuğuna girilen bir sayının faktöriyelini almakta ve yapılan faktöriyel işlemini, sonucu ile beraber başka bir div kutucuğunun içinde görüntülemektedir. Bu görüntüleme işlemi için innerHTML yöntemini kullanıdım.
Eğer Faktöriyel nedir bilmiyorsanız ya da bilgilerinizi tazelemek istiyorsanız şu adresteki kısa anlatımı bir okuyun...
fizikliblog.blogspot.com
<script language="javascript">

function faktoriyel(){ //faktoriyel adlı fonksiyon çalışmaya başlıyor

var a; // Değişken tanımlanıyor

a = document.form1.sayi.value; // değişken içine form1 içindeki sayi isimli kutudaki bilgi aktarılıyor

c = a; // a değişkenindeki bilgi c'ye aktarılıyor (döngüde a nın değeri değişeceğinden eski değere ihtiyacımız olacak)
if(a==0){
    document.getElementById("sonuc").innerHTML=1;
document.getElementById("say").innerHTML=c+"!";
}
b= new Array() //b adlı bir dizi değişkeni oluşturuluyor.

b[0]=a+"x"; //dizinin ilk değerini veriyorum
for(i=a-1;i>=1;i--){ //faktöriyeli hesaplayan döngü başlangıcı

a = a*i;

} //faktöriyeli hesaplayan döngü sonu

// bu kısım faktöriyel hesabı yapılan sayının çarpım dizisi elemanlarını b isimli dizi değişkeni içinde uygun yerlere yerleştirir

for (j=1; j<=c-1;j++){

for(i=c-j;i>=c-j;i--){

if(i>1){

b[j]=i+'x';

}else{

b[j]=i;
}
}
}
// bu kısımdan sonra sonucu ekranda başka bir HTML elemanının içine yazdıran kodlar sıralanmaktadır.
document.getElementById("sonuc").innerHTML=b.join("")+"="+a;
document.getElementById("say").innerHTML=c+"!";
}
// fonksiyon sonu

</script>

<form id="form1" name="form1" method="post" action="">

<label for="sayi"></label>

<input type="text" name="sayi" id="sayi" value="" />

<input type="button" name="ok" id="ok" value="Faktöriyel" onclick="faktoriyel();" />

</form>

<div id="say" style="font-size:36px;float:left;border:solid 1px #09C;color:#0F0;padding:5px;"></div><div id="sonuc" style="float:left;padding:15px 0 0 5px;;color:#60F"></div>

yukarıdakş kodlar doğu bir şekilde yazarsanız nacizane faktöriyel hesaplayıcınız tarayıcınızda arz-ı endam eder efem!!! Deneyin bakalım çalışıyor mu?







Turgut Arslan

17 Haziran 2011 Cuma

Javascript if Uygulaması (Javascript ile Basit Bir Hesap Makinesi)

javascript ifProgramlama öğrenmeye çalışan herkesin eninde sonunda karşılaşacağı bir problem vardır. Programcılar buna "Program Akış Denetimi" derler. Bilgisayar programı dediğimiz şey esasen akış halinde birbirini takip eden bir dizi işlemden ibarettir. Program akışı içinde bu işlemler bilgisayar tarafından süratle gerçekleştirilir ve sonuçları ekrana yansıtılır. Bazı programlar yapı itibariyle basittir. Sadece kullanıcıdan ya da herhangi bir yerden aldığı verileri işleyerek sonucunu gösterirler. Bu tip programlar tek yönde çalışırlar ve genelde sadece tek bir şarta dayalı işlemleri gerçekleştirirler ve çözüme ulaşırlar. Ancak bazı problemlerin çözümü bu kadar basit olmaz. Programcılar sıklıkla bilgisayara, "Şu şart halinde şunu yap, bu şart halinde bunu yap" şeklinde komutlar etkleyerek programa farklı durumlar için esneklik kazandırmak zorunda kalırlar. İşte bu farklı durumların sorgulandığı yer, belirlenen şarta göre program akışının yön değiştirdiği ya da olağan akışına devam ettiği bir kavşak noktası gibidir. Program akışı bu noktalardan denetlenir. Hemen hemen tüm programlama dillerinde bu denetleme "if" komutu ile yapılır. "if" komutu program akışını iki kola ayırır. İngilizce'de "eğer" anlamına gelen bu sözcük programa işleyeceği verileri, programcı tarafından önceden belirlenen kriterlere göre(büyüklük, küçüklük, eşitlik gibi)karşılaştırıp sonuca göre (evet yada hayır) program akışını yönlendirme olanağı verir.

Buraya kadar anlatılanlar Javascript için de geçerlidir. Javascript'te "if" komutu şu şekilde kullanılır;

if(aranan şart){
uygulanacak işlem
}
Bir sonraki işlem

Aranan Şart: x==5, secim=="yeni", a<5 gibi şartların sorgulandığı bölüm.

Uygulanacak İşlem: x=sayi1+sayi2, document.hesap.sonuc.value=islem gibi komutların uygulandığı, çeşitli işlemlerin yapıldığı kısım. Bu bölümde çeşitli aritmetik işlemler, karşılaştırmalar, döngüler gerçekleştirilebilir. Bir sonraki işlem: aranan şartın sağlanamadığı durumlarda yapıl Javascript'te "if komutu şu şekilde çalışır;

1- Önce parantez içindeki şart sorgulanır. Sorgulama sonucu evet ya da hayır dır.

2- Sonuç evet ise yani şart sağlanıyorsa, süslü parantezler içindeki işlemler gerçekleştirilir.

3- Sonuç hayır ise yani şart sağlanmıyorsa süslü parantez içindeki işlemler uygulanmaz. "if" bloğundan çıkılır ve hemen bir sonraki işlem gerçekleştirilir.

Birden fazla "if" komutunu iç içe kullanabilirsiniz. Yani bilgisayara "şu şart halinde, şu şartta şu şartı sorgula" şeklinde komutlar verebilirsiniz. Bu komutun iç içe uygulamasını daha sonraki bir yazıya bırakıp örnek bir program ile yazımı sonlandırmak istiyorum. Aşağıdaki kodlar web sayfasında çok basit, ilkel bir hesap makinesi oluşturmak için yazıldı. Kullanıcı arayüzü olarak HTML'nin form elemanlarını (textbox ve button) kullandım. Program yaı ve işlevsellik açısından o kadar iyi olmasa da "if" komutunu anlamamız açısından yararlı olacaktr. Ayrıca şunu da belirtmek istiyorum bu programın "endeks=selectedIndex " ile başlayan kısmını "Hakkı İcal"'in Javascript ders notlarından aldım. Oradan öğrendiklerimi geliştirip değiştirerek ürettiğim uygulamaları buradan sizlerle paylaşıyorum. Umarım hem sizin için hem de benim için faydalı olur.

İşte hesap makinesi kodları:

<script language="javascript1.2">
function hesapla(secme){ /* Bu satırda bir fonksiyon tanımlanıyor*/
var sayi1,sayi2,endeks, secilenIslem,islem /*değişkenler belirleniyor*/
endeks=secme.selectedIndex
secilenIslem=secme.options[endeks].text /*bu kısımda açılır menüden seçilen değeri"secilenIslem" değişkenine aktarıyor */

sayi1=eval(document.hesap.birinci.value)/* Sayısal işlem yapılacak değişkenlere*/
sayi2=eval(document.hesap.ikinci.value) /* kullanıcının girdiğideğerleraktarılıyor*/

if(secilenIslem=="Topla"){ /* bu kısımda kullanıcının seçtiği işlem*/
islem=sayi1+sayi2 /* sorgulanıyor ve işlem gerçekleştirilip sonucu*/
document.hesap.sonuc.value=islem /* "Sonuç" adlı text box'a yazdırılıyor*/
}
if(secilenIslem=="Çıkar"){
islem=sayi1-sayi2
document.hesap.sonuc.value=islem
}
if(secilenIslem=="Çarp"){
islem=sayi1*sayi2
document.hesap.sonuc.value=islem
}
if(secilenIslem=="Böl"){
islem=sayi1/sayi2
document.hesap.sonuc.value=islem
}
if (secilenIslem=="İşlemi Seçiniz"){ /*kullanıcı işlem seçimi yapmazsa uyarı*/
alert("Lütfen Bir İşlem Seçiniz") /*mesajı veriyor*/
}
}
</script>
<form name="hesap">
<div style="float:left;">
1. Sayı : <input type="text" value="" name="birinci" maxlength="10"

/><br />
2. Sayı : <input type="text" value="" name="ikinci" maxlength="10"

/><br />
Sonuç = <input type="text" value="" name="sonuc" maxlength="10" />
</div>
<div style="float:left;">
<select name="secim" onchange="hesapla(this)">
<option selected>İşlemi Seçiniz
<option>Topla
<option>Çıkar
<option>Çarp
<option>Böl
</select>
<input type="reset" value="Sil" />
</div>

</form>



Bu kodlamanın sonucunda hesap makinemiz şu şekilde görüntülenir.


1. Sayı :

2. Sayı :

Sonuç =





31 Mayıs 2011 Salı

Javascript iç içe for döngüsü

Javascript for döngüsü
Döngüler bilgisayarlara belirli bir işi, belirli şartlar altında istenen miktarda yaptırmak için kullanılır. Döngü yazmak programcıyı aynı kodu defalarca tekrarlamaktan kurtarır. Bu konuyu çarpım tablosu üretmeye yarayan bir program üzerinde inceleyelim. Bu arada javascriptte kullanılan for döngüsünü de anlatmış olacağız.

Neden çarpım tablosu diye sorabilirsiniz. Biliyorum, yararsız bir program. Ama döngü kavramını incelemek ve for döngüsünü hem de iç içe eklenmiş bir vaziyette uygulamak için ideal bir çalışma. Önce For döngüsünün ne olduğuna bir bakalım



For Döngüsü:

Javascript'te bir işlemi/hesaplamayı istenen sayıda tekrarlamak için kullanılır. Ufak bir hesaplama ile programcıyı sayfalar dolusu kod yazmaktan kurtarır, zaman ve emekten tasarruf sağlar. For döngüsü şu şekilde kullanılır,

for (sayılacak değişkenin ilk değeri; sayılacak değişkenin limiti; altma veya azalma miktarı)
{
Bu bögeye (süslü parantezler arasına) yaptırılmak istenen işlem yazılır.
}
sayılacak değişkenin ilk değeri şöyle belirlenir;

i=1;

Javascript'te for döngüsü içinde önceden tanımlanma şartı olmaksızın değişken yazabilir ilk değerini verebilirsiniz. Şimdi "i=1" ile bir değişken oluşturduk ve buna ilk değernin atadık. Hesaplamanın ne zamana kadar yapılacağını belirlemek için değişkenin alabileceği değerlerin, programın işleyişine uygun bir şekilde sınırlanması gerekir. Bunu da yapalım,

i<=10;

Böylelikle i değişkeni 10 değerine gelinceye kadar(10 da dahil) döngü için belirlenen işlemler tekrarlanır. Verilen değerlerin artma ya da azalma miktarı şu şekillerde verilebilir.

i=i+1 veya ++i
i=i-1 veya --i 

lkinde bire birer artar ikincisinde birer birer azalır. isterseniz artma/azaltma miktarını değiştirerek işlem adedini küçültebilirsiniz. süslü parantezler içinde de yapılacak işlemi yazarsınız.

{
k=i*j
}

For döngüsü matruşka gibidir
For döngüleri iç içe kullanılabilrler. İç içe for döngüsü kullanılırken süslü parantezleri açık unutmamaya ve doğru yerlerde kullanmaya dikkat edin. iç içe for döngüsü matruşka gibidir.  Yani iç döngüyü kendi içinde dış döngüyü de kendi içinde kapatmalısınız.

Bu kadar önbilgiden sonra programı incelemeye başlayabiliriz. Programımız şunları yapıyor
Aşağıdaki butona basınca;

-Çarpım tablosunu oluşturmakla görevli carp isimli bir fonksiyon tanımlıyor. (Aslında bu fonksiyona ihtiyacımız yok Ama programın sayfa açılır açılmaz çalışmasını istmediğim için ben üzerine tıkladığım zaman olayı başlatacak bir düğme için bu fonksiyonu yazdım)
-Bir tablo başlatıyor,
-İlk satırı açıyor ve içine birden 9 a kadar numaraları sıralıyor. (bu kısım elle yapıldı döngüye dahil değil)
-İlk döngüye giriyor bu döngü "i=1" için ilk satırı oluşturuyor
-ikinci döngüye giriyor bu döngü "j=1" için ilk sütunu oluşturuyor.Böylelikle tablonun ilk hücresi oluşturulmuş oluyor. Ardından k=i x j çarpımını yapıyor ve hem çarpma işlemini hem de sonucunu bu hücreye yazıyor. İç döngünün başına geliyor ve ikinci hücreyi oluşturuyor. Bu iç döngü bu şekilde "j=9" oluncaya kadar hücreleri oluşturup içine sonuçları yazmaya devam ediyor."i=9" değeri de hesaplandıktan sonra iç döngüden çıkılıyor ve dıştaki döngüye giriliyor. İç döngü tmamlandığında "i=1 "olan değer +1 arttırılarak "i=2" için aynı döngü yeniden tekrarlanıyor. "i="10" olduğunda dış döngü de tmamlanıyor ve son olarak tablo etiketi kapatılıp çarpım tablosu tamamlanıyor.

İşte tüm bu hesaplamaları yapan programın kodları ;

<script language="javascript1.2">

function carp(){

document.writeln("<table Border=1>")

document.writeln("<tr><td>"+ 1 + "</td><td>"+2+"</td><td>"+ 3 + "</td><td>"+4+"</td><td>"+ 5 + "</td><td>"+6+"</td><td>"+ 7 + "</td><td>"+8+"</td><td>" + 9 + "</td></tr>")

for (i = 1; i <= 10; ++i)

{

document.writeln("<tr>")

for (j =1; j<=9; ++j)

{k = i * j

document.writeln("<td>" + i + "x" + j + "=" + k + "</td>")

}

}

document.writeln("</tr>")

document.writeln("</table>")

document.writeln("<input type=button Value= geridön_geridööön onclick=parent.location='http://infial.blogspot.com/2011/05/function-carpdocument.html' />")

}
</script>
<input type="button" Value="Çarpım tablosunu göster" onclick="carp()" />


Turuncu ile işaretli olan yeri yazmayın. O kısmı bu sayfaya geri dönüş için koydum.
Bu kadar kafa yormaya ne gerek var? Ben elimle oturur yazarım bütün tabloyu diyorsanız, uğraşmak istiyorsanız siz bilirsiniz. :)))
İşte size tek tıkla çarpım tablosu!!!