v2.5.2
Giriş yap

jQuery verileri rastgele çekme işlemi yapamadım

resulgunaydin
313 defa görüntülendi

Kendimin oluşturduğu json dosyasında 60 tane gif olacak. Sayfada bunun 20 tanesi görünecek. Sayfa her yenilendiğinde bu 60 verinin rastgele 20 tanesini gelmesini istiyorum. Fakat yapamadım. Biraz aciliyeti varda yardımcı olabilir misiniz? Bildiğin plugin varsa o da olur.

    $(function(){
    var gifs = [
        {
            "id":"1",
            "resim":"images/gifs/1.gif",
            "isim":"isim1",
            "km":"6"
        },
        {
            "id":"2",
            "resim":"images/gifs/2.gif",
            "isim":"isim2",
            "km":"10"
        },
        {
            "id":"3",
            "resim":"images/gifs/3.gif",
            "isim":"isim3",
            "km":"3 "
        }
        
    ];

    var jsonVeri = JSON.stringify(gifs);
    var veri = JSON.parse(jsonVeri);
    
    // burada rastgele veriyi ürettim ve "i" ye verecektim ama 20 limitini koyamadım
    rastgele = Math.floor(Math.random()*veri.length);
    


    for(var i=0; i<veri.length; i++){
        var satir = '<li>';
            satir+= '<a href="detail.html?id='+ veri[i].id +'">';
            satir+= '<img src="'+veri[i].resim+'" alt="">';
            satir+= '<span class="km">'+veri[i].km+'</span>';
            satir+= '<span class="name">'+veri[i].isim+'</span>';
            satir+= '<span class="online"></span>';
            satir+= '</a>';
            satir+= '</li>';

            $('.gifs').append(satir);
    }

});
Cevap yaz
Cevaplar (4)
mubado
775 gün önce

$(function(){

var gifs = [
    {
        "id":"1",
        "resim":"images/gifs/1.gif",
        "isim":"isim1",
        "km":"6"
    },
    {
        "id":"2",
        "resim":"images/gifs/2.gif",
        "isim":"isim2",
        "km":"10"
    },
    {
        "id":"3",
        "resim":"images/gifs/3.gif",
        "isim":"isim3",
        "km":"3 "
    }
    
];

var jsonVeri = JSON.stringify(gifs);
var veri = JSON.parse(jsonVeri);

// burada rastgele veriyi üretiyorsun ancak veriyi kullanıyorsun
rastgele = Math.floor(Math.random()*veri.length);

let satir;
let template = '<li><a href="detail.html?id=%id"><img src="%resim" alt=""><span class="km">%km'</span><span class="name">%isim</span><span class="online"></span></a></li>';
for(var i=0; i<20; i++){
satir = template.replace('%id',rastgele[i].id).replace('%resim',rastgele[i].resim).replace('%km',rastgele[i].km).replace('%isim',rastgele[i].isim)
        $('.gifs').append(satir);
}

});

resulgunaydin
775 gün önce

@mubado Teşekkürler.

resulgunaydin
775 gün önce

@mubado

for(var i=19; i< veri.length; i--) şekilde yaptım. Tersten yapıtırabildim. Siteyi loopa sokuyora galiba zor çalılıyor. Site Benim asıl yapmak istediğim veri sınırlaması ile rastgele getirmek. Yardımcı olabilir misin ya?

mubado
775 gün önce

for un maks değerini 20 yap.

veri.length e göre yaparsan kaç json parse edilirse o kadar döner