jQuery verileri rastgele çekme işlemi yapamadım
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);
}
});
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
$(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);
}
});
@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?