Javascript Geri Sayım Sayaçları

By LovelessGent
Eyl 12th, 2012
0 Comments
628 Views

Javascript Geri Sayım Sayaçları araştırması yaparken biri “ajax teklif sayacı” diye javascript ile geri sayım yapan bir sayaç kodlamıştı. Ben de bir moderatör olarak alanıma giren bir konuda kendimi kodlama mecburiyetinde buldum ve biraz vaktimi ayırıp bir sayaç kodladım. Ancak bir arkadaş Javascript Geri Sayım Sayaçları başlığı altında başka türlü bir sayaç isteyince oturdum kodları yeniledim ve daha pratik bir sayaç çıktı.

Javascript Geri Sayım Sayaçları

İlk sayaçta geri saymasını istediğiniz zamanı yalnızca dakika cinsinden girebiliyordunuz. Daha sonra geri sayılacak zamanı saat dakika ve saniye cinsinden ayrı ayrı girebileceğiniz bir sisteme dönüştürdüm. Arkadaş yine beğenmedi. Bence iyiki de beğenmemiş çünkü ortaya güzel bir çalışma çıkardığımı ve “işe yarar” bir sayaç kodladığımı düşünüyorum. Arkadaşın isteği üzerine “girdiğiniz saat dakika ve saniyeye” kadar geri sayım yapan bir sayaç kodladım.

js geri sayım sayacı

İlk sayacı fonksiyonel görmediğimden son iki sayacı paylaşacağım. Zaten ikinci sayaç birincinin gelişmiş halidir. Üçüncü sayaç ise belli bir saat dakika saniye saymıyor da belirttiğiniz saat dakika ve saniyeden şimdiki saat dakika ve saniyeyi çıkartıp geri sayıyor.

Javascript Geri Sayım Sayaçları

İstediğiniz saat dakika ve saniye kadar geri sayan sayaç:

<script language=”javascript”>
//BİSMİLLAHİRRAHMANİRRAHİM

var sayilacak_saat=0;
var sayilacak_dakika=0;
var sayilacak_saniye=10;
var teklif_verildiginde_uzayacak_dakika=1;

var zaman=(sayilacak_dakika*3600 )+(sayilacak_dakika*60 )+sayilacak_saniye+1;
function geri_say(){
zaman=zaman-1;
kalan_saat=Math.floor(zaman/3600 );
kalan_dakika=Math.floor((zaman%3600 )/60 );
kalan_saniye=zaman%60;

var yeni_zaman=””;
if(kalan_dakika>0 || kalan_saniye>0 || kalan_saat>0 ){
yeni_zaman=kalan_saat+”:”+kalan_dakika+”:”+kalan_saniye;
if(kalan_dakika==0 && kalan_saat==0 && kalan_saniye>0 ){yeni_zaman=”<font style=’font-size:18px;color:red;’>”+yeni_zaman+”</font>”;}
}else{
yeni_zaman=”Müzayede sona ermiştir”;
}//if dakika 0 ise sonu

document.getElementById(‘kalan_zaman’ ).innerHTML=yeni_zaman;

if(zaman>0 ){setTimeout(“geri_say();”,1000 );}
if(zaman==0 ){document.getElementById(‘teklif_ver_butonu’ ).disabled=true;}
}//fonksiyon geri_say sonu

function zamani_uzat(){
zaman=zaman+(teklif_verildiginde_uzayacak_dakika*60 );
alert(‘Teklif verildi, süre ‘+teklif_verildiginde_uzayacak_dakika+’ dakika uzadı.’ );
}//fonksiyon zamani_uzat sonu

window.onload=geri_say;
</script>

<b>Kalan Saat/Dakika/Saniye</b> <a id=’kalan_zaman’ style=’font-size:16px;’></a><br>
<input type=”button” id=’teklif_ver_butonu’ value=”Teklif ver” onclick=”zamani_uzat();”>

 

Sayacın durmasını istediğiniz bir zamanı girebileceğiniz sayaç:

<script language=”javascript”>
//BİSMİLLAHİRRAHMANİRRAHİM

var bitecegi_saat=22;
var bitecegi_dakika=04;
var bitecegi_saniye=00;

var tarih=new Date();var simdiki_saat=tarih.getHours();var simdiki_dakika=tarih.getMinutes();var simdiki_saniye=tarih.getSeconds();

var teklif_verildiginde_uzayacak_dakika=1;

var zaman=((bitecegi_saat*3600 )+(bitecegi_dakika*60 )+bitecegi_saniye )-((simdiki_saat*3600 )+(simdiki_dakika*60 )+simdiki_saniye )+1;

function geri_say(){
zaman=zaman-1;
kalan_saat=Math.floor(zaman/3600 );
kalan_dakika=Math.floor((zaman%3600 )/60 );
kalan_saniye=zaman%60;

var yeni_zaman=””;
if(kalan_dakika>0 || kalan_saniye>0 || kalan_saat>0 ){
yeni_zaman=kalan_saat+”:”+kalan_dakika+”:”+kalan_saniye;
if(kalan_dakika==0 && kalan_saat==0 && kalan_saniye>0 ){yeni_zaman=”<font style=’font-size:18px;color:red;’>”+yeni_zaman+”</font>”;}
}else{
yeni_zaman=”Müzayede sona ermiştir”;
}//if dakika 0 ise sonu

document.getElementById(‘kalan_zaman’ ).innerHTML=yeni_zaman;

if(zaman>0 ){setTimeout(“geri_say();”,1000 );}
if(zaman==0 ){document.getElementById(‘teklif_ver_butonu’ ).disabled=true;}
}//fonksiyon geri_say sonu

window.onload=geri_say;
</script>

<b>Kalan Saat/Dakika/Saniye</b> <a id=’kalan_zaman’ style=’font-size:16px;’></a><br>
<input type=”button” id=’teklif_ver_butonu’ value=”Teklif ver” onclick=”zamani_uzat();”>

 

Yeni kod! Bu kodda yine sayacın durmasını istediğiniz saati dakikayi ve saniyeyi giriyorsunuz. Farkı ise şu: eskiden sayacın duracağı zamanla şimdiki zamanın farkı alınıp ekrana yansıtılırdı yani “kalan zaman” ekrana getirilirdi. Bu kodda ise sayaç saat mantığıyla işliyor, normal bir şekilde ilerliyor ve durulacak zamana geldiğinde de saat kırmızıya dönüyor ve duruyor..

<script language=”javascript”>
//BİSMİLLAHİRRAHMANİRRAHİM

var bitecegi_saat=13;
var bitecegi_dakika=48;
var bitecegi_saniye=00;

function geri_say(){
var tarih=new Date();
var simdiki_saat=tarih.getHours();
var simdiki_dakika=tarih.getMinutes();
var simdiki_saniye=tarih.getSeconds();

if(simdiki_saat!=bitecegi_saat || simdiki_dakika!=bitecegi_dakika || simdiki_saniye!=bitecegi_saniye){
document.getElementById(‘zaman’).innerHTML=simdiki_saat+”:”+simdiki_dakika+”:”+simdiki_saniye;
setTimeout(“geri_say();”,1000);
}else{
document.getElementById(‘zaman’).innerHTML=”<a style=’color:red’>”+bitecegi_saat+”:”+bitecegi_dakika+”:”+bitecegi_saniye+”</a>”;
}//eğer sayacın duracağı zaman geldiyse sonu
}//fonksiyon sonu

window.onload=geri_say;
</script>

<font id=’zaman’>-</font>

Javascript Geri Sayım Sayaçları

Evet, sayacın durmasını istediğiniz zamanla şimdiki zamanın farkını alıp saymaya başlıyor her iki sayaçta da. Bu kodları açık arttırma sitesi için hazırlamıştım birine, açık arttırma sitesinde insanların ihtiyacı olan şey “geriye kalan zaman” olduğu için bu şekilde kodladım. 2. sayaçta biteceği saat yazıyor. Yani biteceği zamandan şimdiki zamanı çıkarıyor ve o kadar sayıyor.

kaynak: MetaOncu

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Connect with Facebook