lostyazilim
tr.link

Okunan konuları işaretleme hk

5 Mesajlar 683 Okunma
lstbozum
tr.link

netman netman netman Kullanıcı
  • Üyelik 30.01.2017
  • Yaş/Cinsiyet 35 / E
  • Meslek Danışman
  • Konum İstanbul Avrupa
  • Ad Soyad H** K**
  • Mesajlar 729
  • Beğeniler 204 / 203
  • Ticaret 10, (%90)
Merhaba, mantığını kurmakta zorlandım biraz, php ile okunan içeriği okundu olarak nasıl işaretleyebilirim?

Bildirim mantığında işliyor sanırım aslında fakat tam bildirim gibi de değil :laugh:

Solda veritabanından listelediğim konular var tıklayınca sağ bölümde sayfa yenilenmeden konuyu okuyabiliyor. Sol blokta mesela okumadığı konuların başlıklarını strong okuduğu konuları da normal göstermek istiyorum. Nasıl çözebilirim fikir veren olursa sevinirim.
 

 

// Acta est fabula
wmaraci
reklam

zfczfc zfczfc WM Aracı Kimlik Onayı
  • Üyelik 13.03.2021
  • Yaş/Cinsiyet 49 / E
  • Meslek Matematik Öğretmenliği okuyoru
  • Konum Konya
  • Ad Soyad M** A**
  • Mesajlar 121
  • Beğeniler 68 / 68
  • Ticaret 0, (%0)
Sizin için bir javascript kodu yazdım.
<script>
document.querySelectorAll('a').forEach(item => {
if (localStorage.getItem('aurl')) {
JSON.parse(localStorage.getItem('aurl')).forEach(s => {
if (s==item.getAttribute('href')) {
item.style.color='red';
}
});
}
item.addEventListener('click',()=>{
if (localStorage.getItem('aurl')) {
var ls= JSON.parse(localStorage.getItem('aurl'));
c=true;
ls.forEach(ss => {
if (ss==ls[ls.length-1] && ss!=item.getAttribute('href') && c==true) {
ls.push(item.getAttribute('href'));
localStorage.setItem('aurl',JSON.stringify(ls))
}else if (ss==item.getAttribute('href')) {
c=false;
}
});
}else{
var dizi=[];
dizi.push(item.getAttribute('href'))
localStorage.setItem('aurl', JSON.stringify(dizi))
}
})
});
</script>

Bu kodu sitenize ekledikten sonra kendiliğinden sorunsuz çalışacaktır. Localstorage kullandım ve o url daha önce varsa localstorage yazmadım. Hem hafif hem de işlevsel bir kod.
Ayrıca bildiğim kadarıyla a etiketlerine özel bir color vermezseniz sadece text-decoration gibi özelliklerini ayarlarsanız önceden tıklanmış a etiketleri biraz daha açık bir renk alır.
Eğer illa rengi değiştirip belirli özellikler katmak istiyorsanız verdiğim javascript kodunu tüm sayfalarınıza eklemeniz yeterlidir. Eğer sitenizde aynı kullanıcı günde onlarca tıklama yapıyorsa çerezin çok olmaması ve hızı etkilememesi için
if (JSON.parse(localStorage.getItem('aurl')).length>50) {
localStorage.setItem('aurl','')
}
kodunu ekleyebilirsiniz. 50 yazan yere kaç linkten sonra sıfırlanmasını istediğinizi yazmanız yeterlidir.
https://dosya.co/zw8dea6khr68/index.html.html
Yukarıdaki linke çalıştığım index dosyasını bıraktım.
 

 

zfczfc zfczfc WM Aracı Kimlik Onayı
  • Üyelik 13.03.2021
  • Yaş/Cinsiyet 49 / E
  • Meslek Matematik Öğretmenliği okuyoru
  • Konum Konya
  • Ad Soyad M** A**
  • Mesajlar 121
  • Beğeniler 68 / 68
  • Ticaret 0, (%0)
Eğer bir yere kaydedilmesin sadece sayfa açıkken tıklanan konuların rengi değişsin isterseniz
<script>
document.querySelectorAll('a').forEach(item => {
item.addEventListener('click',()=>{
item.style.color='red';
})
});

</script>
Kodunu kullanabilirsiniz. Ancak kaydetmek için ya yukarıda verdiğim js kodunu ya da veri tabanını kullanmalısınız.
 

 

netman netman netman Kullanıcı
  • Üyelik 30.01.2017
  • Yaş/Cinsiyet 35 / E
  • Meslek Danışman
  • Konum İstanbul Avrupa
  • Ad Soyad H** K**
  • Mesajlar 729
  • Beğeniler 204 / 203
  • Ticaret 10, (%90)
Hocam elinize sağlık teşekkürler, bilgileri veritabanından çekiyorum ve kullanıcı sessionları var js yönüyle değil de php yönüyle çözebilirsem benim için daha kolay olacak sanırım. konu güncellenmedikçe okundu olarak işaretlenmesini istiyorum çünkü.
 

 

// Acta est fabula
wmaraci
wmaraci

zfczfc zfczfc WM Aracı Kimlik Onayı
  • Üyelik 13.03.2021
  • Yaş/Cinsiyet 49 / E
  • Meslek Matematik Öğretmenliği okuyoru
  • Konum Konya
  • Ad Soyad M** A**
  • Mesajlar 121
  • Beğeniler 68 / 68
  • Ticaret 0, (%0)
Tamamdır hocam yine de işine yarayan olursa buralarda kalsın.
netman

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al