lostyazilim
tr.link

Döngü Yapmayı Beceremedim

13 Mesajlar 2.199 Okunma
lstbozum
tr.link

yms yms WM Aracı Kullanıcı
  • Üyelik 04.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum Samsun
  • Ad Soyad M** K**
  • Mesajlar 277
  • Beğeniler 39 / 62
  • Ticaret 0, (%0)
Merhaba üstadlar.

Javascript'ten pek anlamıyorum. On adet fonksiyonum var ve ben bunları sırasıyla setTimeout ile ikişer saniye aralıkla çağırıyorum.

Buraya kadar hiçbir sorun yok ancak ben bunu bir döngüyle tekrarlatmak istiyorum. İlk turu sorunsuz attıktan sonra ikinciye geçmiyor. Ne denediysem olmadı. Nerede hata yapıyorum?


function Slayt(){
var a=1;
do{
var sure=2000;
a++
setTimeout('FGalHab2()',sure);
setTimeout('FGalHab3()',sure+2000);
setTimeout('FGalHab4()',sure+4000);
setTimeout('FGalHab5()',sure+6000);
setTimeout('FGalHab6()',sure+8000);
setTimeout('FGalHab7()',sure+10000);
setTimeout('FGalHab8()',sure+12000);
setTimeout('FGalHab9()',sure+14000);
setTimeout('FGalHab10()',sure+16000);
setTimeout('FGalHab1()',sure+18000);}
while(a<6)
}

 

 

@Bean Love getLove()
wmaraci
reklam

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
a++;

Noktalı virgülü unutmuş olabilir misin? Onun dışında bir hata yok gibi.
 

 

.

yms yms WM Aracı Kullanıcı
  • Üyelik 04.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum Samsun
  • Ad Soyad M** K**
  • Mesajlar 277
  • Beğeniler 39 / 62
  • Ticaret 0, (%0)
Doğru, unutmuşum ancak yine işe yaramadı. Hâlen ilk turu atınca bitiriyor.
 

 

@Bean Love getLove()

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
Eğer problem tahmin ettiğim şeyse şu şekilde çözebilirsin.

function Slayt(){
var a=0;
do{
var sure=2000;
a++;
setTimeout('FGalHab2()',sure+0+a*20000);
setTimeout('FGalHab3()',sure+2000+a*20000);
setTimeout('FGalHab4()',sure+4000+a*20000);
setTimeout('FGalHab5()',sure+6000+a*20000);
setTimeout('FGalHab6()',sure+8000+a*20000);
setTimeout('FGalHab7()',sure+10000+a*20000);
setTimeout('FGalHab8()',sure+12000+a*20000);
setTimeout('FGalHab9()',sure+14000+a*20000);
setTimeout('FGalHab10()',sure+16000+a*20000);
setTimeout('FGalHab1()',sure+18000+a*20000);}
while(a<5)
}
yms

kişi bu mesajı beğendi.

.
wmaraci
wmaraci

yms yms WM Aracı Kullanıcı
  • Üyelik 04.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum Samsun
  • Ad Soyad M** K**
  • Mesajlar 277
  • Beğeniler 39 / 62
  • Ticaret 0, (%0)
Çok teşekkür ederim. Bu işe yaradı. Ancak 20 saniye kadar bekledikten sonra başlıyor döngü. Sanırım "sure+0+a*20000" işlemini 20 saniye olarak yorumluyor. Bunu nasıl çözebiliriz?
 

 

@Bean Love getLove()

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
var a=0;

Ben a değerine sıfır vermiştim. Siz öyle yapmadınız mı?
 

 

.

yms yms WM Aracı Kullanıcı
  • Üyelik 04.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum Samsun
  • Ad Soyad M** K**
  • Mesajlar 277
  • Beğeniler 39 / 62
  • Ticaret 0, (%0)
Öyle yaptım ancak benim tarayıcı 0*20000'i 20000 buluyor sanırım :)
 

 

@Bean Love getLove()

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
Dur dur buldum :D a++; olan kısmı aşağıya almamız lazım.

function Slayt(){
var a=0;
do{
var sure=2000;
setTimeout('FGalHab2()',sure+0+a*20000);
setTimeout('FGalHab3()',sure+2000+a*20000);
setTimeout('FGalHab4()',sure+4000+a*20000);
setTimeout('FGalHab5()',sure+6000+a*20000);
setTimeout('FGalHab6()',sure+8000+a*20000);
setTimeout('FGalHab7()',sure+10000+a*20000);
setTimeout('FGalHab8()',sure+12000+a*20000);
setTimeout('FGalHab9()',sure+14000+a*20000);
setTimeout('FGalHab10()',sure+16000+a*20000);
setTimeout('FGalHab1()',sure+18000+a*20000);}
a++;
while(a<5)
}
yms

kişi bu mesajı beğendi.

.

yms yms WM Aracı Kullanıcı
  • Üyelik 04.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum Samsun
  • Ad Soyad M** K**
  • Mesajlar 277
  • Beğeniler 39 / 62
  • Ticaret 0, (%0)
Şimdi oldu :) Tekrar teşekkür ederim. Bu Javascript bir sanat vallahi :)
 

 

@Bean Love getLove()

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
Rica ederim.

js değil de programcılık bir sanat diyelim.

WordPress ne diyor: "Code is poetry." (Türkçesi: Kod şiirdir.)
 

 

.
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al