Çözüldü JavaScript Koddaki hata nerede?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Fleure

Decapat
Katılım
4 Mart 2023
Mesajlar
369
Daha fazla  
Cinsiyet
Erkek
HTML:
<html>
<head>
    <script type="text/javascript">

        var s =0;
        function artir(){
            deger= document.getElementById("sayi");
            deger.value=s
            s++;
        }
        function azalt(){
            deger= document.getElementById("sayi");
            deger.value=s
            s--;
        }
    </script>

</head>
<body>
    <button type="button" onclick="azalt()">-</button>
    <input type="text" value="0" size="5" id="sayi" name="sayi">
    <button type="button" onclick="artir()">+</button>
</body>
</html>

Böyle bir kod yazdım. Fakat ilk + ya basışımda -1, ilk - ye basışımda +1 kalanlarında ise + basınca +1 , - basınca -1 oluyor. İlk basışta neden öylede öbürlerinde normal ?
 
Son düzenleyen: Moderatör:
Çözüm
Hocam hemen 1 dk bekleyin size kodu atayim.

@Fleure hocam anladığım kadarıyla böyle istiyorsunuz.

JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <button id="at">arttır</button>
 <button id="az">alat</button>
 <h1 id="deger"></h1>
 <hr>
 <h1 style="color: red;" id="deger2"></h1>
 <script>
 let at = document.getElementById("at")
 let az = document.getElementById("az")
 let deger = document.getElementById("deger")
 let deger2 = document.getElementById("deger2");
 let value = 0
 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value.
 deger2.innerHTML = value.

 e.preventDefault();
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value.
 deger2.innerHTML = value.

 e.preventDefault();
 })
 </script>
</body>
</html>

@533388 hocam muhtemelen kod çalışmıyacak çünkü Value'ların yanındaki noktalrı silin.
@Fleure hocam bu kodu deneyin.

JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <button id="at">arttır</button>
 <button id="az">alat</button>
 <h1 id="deger"></h1>
 <script>
 let at = document.getElementById("at")
 let az = document.getElementById("az")
 let deger = document.getElementById("deger")
 let value = 0

 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value.
 e.preventDefault();
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value.
 e.preventDefault();
 })
 </script>
</body>
</html>
 
Çalışmadan, yorulmadan ve üretmeden, rahat yaşamak isteyen toplumlar; evvela haysiyetlerini, sonra hürriyetlerini daha sonra da istiklal ve istikballerini kaybetmeye mahkumdurlar.” Mustafa Kemal ATATÜRK

Böyle bir kod yazdım. Fakat ilk + ya basışımda -1, ilk - ye basışımda +1 kalanlarında ise + basınca +1 , - basınca -1 oluyor. İlk basışta neden öylede öbürlerinde normal ?
Hocam html sayfası yukarıdan aşağı render edildiği için sayfadaki dom'a müdahale edeceğin javascript kodlarını body kısmının en altına yazman gerekiyor. @533388 hocamın cevabının çalışması lazım.
 
Lag var çünkü

Değer mevcut değeri göstermiyor, bir önceki değeri gösteriyor. Aşağıdaki şekilde güncelle kodunu ki mevcut değeri göstersin.

Kod:
<html>
<head>
    <script type="text/javascript">

        var s = 0;
        function artir(){
            s++;
            deger= document.getElementById("sayi");
            deger.value=s;
        }
        function azalt(){
            s--;
            deger= document.getElementById("sayi");
            deger.value=s;
        }
    </script>

</head>
<body>
    <button type="button" onclick="azalt()">-</button>
    <input type="text" value="0" size="5" id="sayi" name="sayi">
    <button type="button" onclick="artir()">+</button>
</body>
</html>
 

Bu hatayı sabahta yapmıştım pfffff.
 
@Ecrinısıl hocam scripti yukarıda açmak pek sağlıklı bir yöntem değil.
 

Bu konuyu görüntüleyen kullanıcılar

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…