• 04-08-2022, 13:13:33
    #1
    Merhaba arkadaşlar bir kodlamada ufak bir yerde takıldım, fikir verebilecek varsa sevinirim.

    Aşağıdaki gibi bir kodum var, belli süreler ile belirtilen sayı kadar sayacı arttırıyor.
    Sorunum şu sonsuza kadar gidiyor bu durduramıyorum Benim istediğim belirlediğim rakama gelince sayaç işlemi dursun, bunu nasıl yapabilirim?
    Örneğin: 0.17 + 0.17 şeklinde artıyor, toplamı 3ü geçtiğinde sayaç 3 olarak kalsın devam etmesin istiyorum.

    Yardımcı olacaklara şimdiden teşekkürler.

    var secs = 100 * 60;
    var count = 0;
    setInterval(function() {
        var $badge = $('#deger');
        count += 0.17;
        $badge.text(count.toFixed(2));
    }, secs);
  • 04-08-2022, 13:17:16
    #2
    Hocam döngünün başında bir if ifadesi ekleyerek değer 3 e gelmiş mi kontrol edebilirsiniz.
  • 04-08-2022, 13:18:03
    #3
    Şu şekilde bi dener misin?

    var secs = 100 * 60;
    var count = 0;
    setInterval(function() {
        var $badge = $('#deger');
       
    if(count>3) {
    count += 0;
    }else {
    count += 0.17;
    }
    
        $badge.text(count.toFixed(2));
    }, secs);
  • 04-08-2022, 13:18:51
    #4
    6 saniyede bir sayaç çalıştırıyorsunuz yapmak istediğinizi örnekli yani kodsuz düz anlatımla anlatırsanız daha rahat yardımcı olabilirim.
  • 04-08-2022, 13:21:27
    #5
    Daqroo adlı üyeden alıntı: mesajı görüntüle
    Hocam döngünün başında bir if ifadesi ekleyerek değer 3 e gelmiş mi kontrol edebilirsiniz.
    omergunay adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde bi dener misin?

    var secs = 100 * 60;
    var count = 0;
    setInterval(function() {
        var $badge = $('#deger');
      
    if(count>3) {
    count += 0;
    }else {
    count += 0.17;
    }
    
        $badge.text(count.toFixed(2));
    }, secs);
    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    6 saniyede bir sayaç çalıştırıyorsunuz yapmak istediğinizi örnekli yani kodsuz düz anlatımla anlatırsanız daha rahat yardımcı olabilirim.
    Teşekkürler öncelikle yardımcı olmaya çalıştığınız için,

    Yapmak istediğim tam olarak 0.17 0.17 sayaç artsın 6 saniyede bir eğer sayaç 3ü geçerse atıyorum 3.05 oldu saymayı bıraksın ve değeri 3 olarak göstersin istiyorum.
  • 04-08-2022, 13:31:19
    #6
    ZINKKK adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler öncelikle yardımcı olmaya çalıştığınız için,

    Yapmak istediğim tam olarak 0.17 0.17 sayaç artsın 6 saniyede bir eğer sayaç 3ü geçerse atıyorum 3.05 oldu saymayı bıraksın ve değeri 3 olarak göstersin istiyorum.

    let sayac = 0
    const interval = setInterval(() => {
    sayac += 0.17


    if(sayac > 3){
    sayac = 3
    clearInterval(interval)
    }

    console.log(sayac)
    }, 6000)

    6 saniyede bir interval çalışarak kod bloğu çalışır. ve her çalıştığında 0.17 ekler en son 3 ü geçerse sayaç değişkeni 3'e sabitlenir ve intervalin çalışması durar.

    console.log ekledim 1 saniyeye çekip test edebilirsin.
  • 04-08-2022, 13:31:32
    #7
    Hocam yine dediğim gibi başına if ekleyip 3'ü geçmiş mi geçmemiş mi kontrol edersiniz daha sonra 3'ü geçmişse floor ile 3 e yuvarlayarak gösterebilirsiniz.
  • 04-08-2022, 13:33:09
    #8
    Daqroo adlı üyeden alıntı: mesajı görüntüle
    Hocam yine dediğim gibi başına if ekleyip 3'ü geçmiş mi geçmemiş mi kontrol edersiniz daha sonra 3'ü geçmişse floor ile 3 e yuvarlayarak gösterebilirsiniz.
    burda olay o değil sayaçın durmasını istiyor. döngüye girdiği dediği kısım o intervali temizlemezsen çalışmaya devam edecek ve projeye ekstra yük katacak ve sorunlar sorunlar...
  • 04-08-2022, 13:40:35
    #9
    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    let sayac = 0
    const interval = setInterval(() => {
    sayac += 0.17


    if(sayac > 3){
    sayac = 3
    clearInterval(interval)
    }

    console.log(sayac)
    }, 6000)

    6 saniyede bir interval çalışarak kod bloğu çalışır. ve her çalıştığında 0.17 ekler en son 3 ü geçerse sayaç değişkeni 3'e sabitlenir ve intervalin çalışması durar.

    console.log ekledim 1 saniyeye çekip test edebilirsin.
    Tam olarak istediğim buydu, teşekkür ederim yardımınız için.
    Kodun son halini de paylaşayım arayan arkadaşlar düzenlemekle uğraşmasın yazı basma kısmını

    let count = 0
    const interval = setInterval(() => {
    count += 0.17
    
    if(count > 3){
    count = 3
    clearInterval(interval)
    }
        var $badge = $('#result');
        $badge.text(count.toFixed(2));
    }, 6000)