v2.5.2
Giriş yap

ilk fonksiyon

ferid244
354 defa görüntülendi

merhaba hocam soyle bir sorum var kodlar uzun oldugu icin websitem uzerinden gostermeye karar verdim https://isqur.com/index.php?sikayetteklif burada kullanicilarin yazdigi mesajlar bir txt dosyasinin icerisine yaziliyor ve safyanin scrolu tam asagidayken fetch ile txt dosyasinda veriler setinterval seklinde cekiliyor sayfayi yukariya kaldirdigim zaman ise clear interval fonksiyonu calisiyor ve fetch duruyor ilk sayfa acildiginda kod calisiyor ama bir tane mesaj gonderdikten sonra fonksiyon bir daha calismiyor yeniden bilgisayarla f5 tusuna basmam gerekiyor ki scroll fonksiyonu yeni calissin ben bu isi cozemedim lutfen yardim ederseniz sevinirim

munzevi
678 gün önce

"tamam da" sorduğun soruyla alakası var mı şuan da ki hatanın? tabi ki yok. yani benim yaptığım "olmuyor" değil. şuan istediğin şekilde çalışıyor. hata var mı, evet kontrol ettim hata var. bu da şundan kaynaklanıyor, window.scrollTo(0, document.body.scrollHeight); konuda bahsettiğin hataya odaklandığım için, bu kısma dikkat etmemişim. sen scrolun yukarı gitmesine baştan beri izin vermemişsin ki. sonra olmuyor. bal gibide oluyor, lütfen pasif agresif tavırla hesap sormak yerine, kodun ne yaptığından çok nasıl çalıştığını anlamaya çalışınız. al, kopyala yapıştır, işini gör. böyle olmamalı bence.

document.addEventListener('scroll', () => {
    if((window.innerHeight + window.scrollY) >= document.body.scrollHeight)
        fetch("https://localhost/data.txt").then(async response => {
            document.querySelector('#mesajlar').innerHTML = await response.text();
        });
});

buyrun sıfırdan yazdım. amac neydi; scrollbar'ın mevcut pozisyonu ekranın mevcut yüksekliğine eşit veya üzerinde ise, içeriği yükle. süre tanımlayıp, daha sonra bunu kaldırmaya bile gerek yoktu aslında. burada bak, ekstra kod dahi yok, üstüne kodları çıkarttık hatta. kendi ayağına sıkmak istiyorsan bu şekilde devam et, ama gelişim için biraz gayret arkadaşım ya. ben biraz kolay alınıyorum, "tamam da" diye yazınca siz biraz sinirlendim kusra bakmayın.

not: azami yükseklik, javascript'in verdiği yükseklikten +15 piksel fazla çıkıyor bende, bu da geriye dönüşteki o 15 piksellik fark'dan dolayı, tekrar sorguya alabiliyor. sizde de öyleyeyse buna göre -15 düşürün. console.log((window.innerHeight + window.scrollY), document.body.scrollHeight) bununla kontrol edebilirsin.