Merhaba,
E-ticaret sitemiz için şöyle bir kod yazdık;
Amaç: Ürün kategoride vs. listelendiğinde Sepette İndirim tutarının müşteri tarafından görülmesi.
<script>
$(".ozelAlan1").each(function (index, value) {
var yuzde = parseFloat(value.innerHTML.trim().replace(",", "."));
var fiyat = parseFloat(
$(value)
.parent()
.parent()
.find(".discountPrice")
.children()
.first()
.html()
.replace("₺", "")
.replace(",", ".")
);
$(value).parent().parent().find(".productPrice").after(`<div style="
padding: 10px 0;
font-size: 13px;
border: 1px solid #f27a1a;
margin-top: 10px;
text-align: center;
">SEPETTE İNDİRİM TUTARI <span style="color: #f27a1a;font-weight: 600;font-size: 20px">${(fiyat - (fiyat * yuzde) / 100).toFixed(2).replace(".", ",")} TL</span>
</div>`);
});
</script>Normal şartlarda bu kod çalışıyor. Lakin ürün listeleme kısmında ikinci sayfaya geçtiğimizde bu kod çalışmıyor. Kod oraya hiç oraya gelmiyor.
Ama sayfayı yenilediğimizde tekrardan çalışmaya başlıyor.
Aynı şekilde ürünleri sayfa sayfa listeleme değil de, lazy load olarak listeleme yaptığımda da yine çalışmıyor. İlk yüklenen ürünlerde çalışıyor. Sonraki gelen ürünlerde çalışmıyor.
Ufak bir nüansı var ama çözemedim.
Not: İkinci sayfaya geçtiğinde url parametresinin sonuna
?sayfa=2 diye atıyor. Bu olduğunda çalışmıyor kod. ?sayfa=2 olduğunda sayfayı yenilediğimizde çalışıyor tekrardan.
Dipnot: Ücreti dahilinde yardımcı olmak isteyenler mail atabilir.
mail@alpersarbak.com