Javascript 从json生成滑块
我将从可用的JSON对象创建一个简单的滑块。我想用鼠标左键或右键滚动3个项目,即JSON的3个键 示例:如果我单击了右箭头,那么我想获取0到2个JSON键并显示图像,如果再次单击右箭头,那么是3到6,依此类推。类似地,如果单击了左箭头。我想从JSONkeys的当前位置创建负循环,比如6到3 我尝试了我的代码,但效果不好Javascript 从json生成滑块,javascript,jquery,css,json,Javascript,Jquery,Css,Json,我将从可用的JSON对象创建一个简单的滑块。我想用鼠标左键或右键滚动3个项目,即JSON的3个键 示例:如果我单击了右箭头,那么我想获取0到2个JSON键并显示图像,如果再次单击右箭头,那么是3到6,依此类推。类似地,如果单击了左箭头。我想从JSONkeys的当前位置创建负循环,比如6到3 我尝试了我的代码,但效果不好 var recents = ""; var imges = ""; var imge = ""; var recent_prod = <?php echo $recent_
var recents = "";
var imges = "";
var imge = "";
var recent_prod = <?php echo $recent_prod; ?>;
$("#num").html(recent_prod.length);
for(var a = 0; a < 3; a++)
{
imges = recent_prod[a].image;
imge = imges.split[","];
recents += '<a href="' + base_url + 'init/product/' + recent_prod[a].id + '">'+
'<div class="related_prod_thumb">' +
'<div class="related_prod_img">'+
'<span class="helper"></span>'+
'<img src="' + base_url + 'uploads/thumbnail/' + imges + '" width="100">'+
'</div><div class="related_prod_title">' + recent_prod[a].title +'</div>'+
'<div class="related_prod_price">' + 'Rs. ' + recent_prod[a].price + '</div></div></a>';
}
$("#recent_views").html(recents);
$(document).on("click", ".rightarr", function(){
var next_recent_prod = "";
var next = a + 3;
for(var i = a; i < next; i++)
{
imges = recent_prod[i].image;
imge = imges.split[","];
next_recent_prod += '<a href="' + base_url + 'init/product/' + recent_prod[i].id + '">'+
'<div class="related_prod_thumb">' +
'<div class="related_prod_img">'+
'<span class="helper"></span>'+
'<img src="' + base_url + 'uploads/thumbnail/' + imges + '" width="100">'+
'</div><div class="related_prod_title">' + recent_prod[i].title +'</div>'+
'<div class="related_prod_price">' + 'Rs. ' + recent_prod[i].price + '</div></div></a>';
a = a + 1;
}
$("#num").html(a);
$("#recent_views").html(next_recent_prod);
});
$(document).on("click", ".leftarr", function(){
var next_recent_prod = "";
var pre = a - 3;
for(var i = pre; i >= 0; i--)
{
imges = recent_prod[i].image;
imge = imges.split[","];
next_recent_prod += '<a href="' + base_url + 'init/product/' + recent_prod[i].id + '">'+
'<div class="related_prod_thumb">' +
'<div class="related_prod_img">'+
'<span class="helper"></span>'+
'<img src="' + base_url + 'uploads/thumbnail/' + imges + '" width="100">'+
'</div><div class="related_prod_title">' + recent_prod[i].title +'</div>'+
'<div class="related_prod_price">' + 'Rs. ' + recent_prod[i].price + '</div></div></a>';
}
$("#num").html(a);
$("#recent_views").html(next_recent_prod);
a = i;
});
var-recents=“”;
var imges=“”;
var imge=“”;
var最近的产量=;
$(“#num”).html(最近的产品长度);
对于(var a=0;a<3;a++)
{
imges=最近的产品[a]。图像;
imge=imges.split[“,”];
最近+='';
}
$(“#最近的#u视图”).html(最近的);
$(document).on(“click”,“.rightarr”,function()){
var next_next_prod=“”;
var next=a+3;
for(var i=a;i=0;i--)
{
imges=最近的产品[i]。图像;
imge=imges.split[“,”];
next_next_prod+='';
}
$(“#num”).html(a);
$(“#最近的#视图”).html(下一个#最近的#产品);
a=i;
});
通过这段代码,我在单击左键时得到了JSON的负键。这是-1,但它在JSON中不存在。所以我得到了errorTypeError
。而且它也没有像预期的那样工作
任何帮助都将不胜感激。多谢各位
a
到next
,即a+3
,但对于左箭头,则从0到pre
,这应该是a-3
。你可能是说:
for(var i = a-1; i >= pre; i--)
a=i
,当该循环结束时,i
的值将为-1(或者如果更正#1,它将比所需值低一个),因此您可能需要:
a = i + 1;
或者像右箭头一样,将其置于循环中:
a = a - 1; //or in short a--;
var pre;
if(a > 2)
pre = a - 3;
else {
pre = 2;
//disable left & make sure you enable it when right is clicked.
}
//not sure about 4, try 3 or 2 maybe if it doesn't work
if(a < recent_prod.length - 4)
next = a + 3;
else {
next = recent_prod.length - 3;
//disable right & make sure you enable it when left is clicked.
}
//不确定4,如果不起作用,试试3或2
if(a<最近的产品长度-4)
下一个=a+3;
否则{
next=最近的产品长度-3;
//禁用右侧&确保在单击左侧时启用它。
}
当单击左箭头且键为0时,应该从上一个产品向下移动吗?否,它应该停止滑块,并且箭头键可能处于禁用状态。