Jquery ile geçiktirme meselesinin çok sorulduğunu farkettim. Şaşırdım. Halbuki javascript ile bir farkı yok ki?
Ancak tabi ki daha düzenli kullanmakta fayda var.
Bu alttaki iki satırı jquery yükledikten hemen sonra çalıştırırsanız elinizde "timeout" diye bir fonksiyon olur. Yaptığı çok özel bir şey yok. Sadece jquery işlemerinizde daha kolay kullanılabilir hale getirilmiş setTimeout fonksiyonundan ibaret.
$.fn.timeout = function(t,f){ this.each(function(){setTimeout(f,t); }); return this; };
Şöyle üç şekilde kullanımına örnek verdim
js:
$(document).ready(function(){ $("#metin").click(function(){ $(this).timeout(1000,function(){ $("#icmetin").html("1 saniye sonra gelen mesaj"); $(this).timeout(2000,function(){ $("#icmetin").append(" ilk 1 saniyelik ekleyiş ardından 2 saniye sonra gelen gelen mesaj"); }); }) .timeout(2000,function(){ $("#icmetin").append(" 2 saniye sonra gelen gelen mesaj"); }); }); });
html:
<a href="#" id="metin">tikla</a> <div id="icmetin"></div>
şurada çalıştırarak görebilir : http://jsbin.com/ivetu
ve burada da kodları değiştirip deneyebilirsiniz : http://jsbin.com/ivetu/edit
---
Farkettim ki yukarıdaki çok karışık geliyor insanlara. halbuki kullanım kolaylığını göstermek için çeşitli şekillerde örnek vermişdim. Neyse, hasılı, nihayetinde şöyle de kullanabilirsiniz:
Alıntı :
- $(document).ready(function() {
- window.setTimeout(function() {
- // islem islem islem
- }, 1000);
- });
9 comments:
Merhaba, teşekkürler.
..#icmetin").html("video kodu");
şeklinde çalıştıramadım. Facebooktaki gibi yapamazmıyız. linke tıkladığında videoyu çekse. yardımcı olursanız sevinirim.
sorun olmaamalı bakın bir örnek:
http://pastebin.com/f515b85b9
geçem süreyi güncel olarak gösterebilirmiyiz. Yani 10 saniye kaldı ,9,8,7,... diye bilgilendirme olarak
teşekkürler çok işime yaradı saol
İşinize yaraması güzel, ama yeni bir şey değil aslında. Saece setTimeout() için pratik bir yol.
Bu arada yukardaki anonim kişinin sorusunun yanıtı ise "evet"
üst bir değişkeni fonk. içinde azaltarak kullanabilir ve geri sayım yapabilirsiniz. Örnek bir kod yazayım birazdan.
dediğiniz örnek kodu verebilirmisiniz ,hayat kurtaran insten bir örnek olacak benim için de teşekkürler :)
buyrunuz :
http://jsbin.com/ivetu/26/edit
Bu Kod için çok teşekkür ederim şahsan çok işime yaradı
Merhabalar, ben söyle bir sorunun cevabını arıyorum; bir Jquery eklentisi ile uyarı ekranı var ve kodun başında
if($('#uyari').length){
return false;
}
mantığı kullanılmış, şimdi buradaki problem eğer ekranda bir uyari varsa ve başka bir fonksiyon (mesela bir Ajax isteği) çabuk bir şekilde yeni bir uyarı göstermek istiyorsa yeni uyarı ekrana getirilmiyor. Bunu bir settimeout metoduna bağlayıp Eğer ekranda bir uyarı varsa 1 saniye sonya yeniden dene diyebiirmiyiz? Teşekkürler
Post a Comment