我是网页设计的新手,这就是我想要的(达到一定程度):我显示了这个小img数组(在#image-holder中),每个img u click,它在另一个标签中打开(#bigimg)全尺寸。我还设法在数组中制作了所有图像(全尺寸)的滑块(在#bigimg中)。你可以点击按钮来回走动。我不能做的是“获取”点击的 img的特定src,这样点击“下一步”按钮将idd显示下一个(那个)img array [和“prev”按钮将显示实际上的(那个)img]。到目前为止,这是我的代码:
var images=new Array();
var i;
$(document).ready(function(){
$.getJSON("image_slider.php", function(json) {
for(i=0; i<json.length; i++)
{
images[i]="images/"+json[i];
$('<img>').attr('src',images[i]).css({"width":"60px", "padding":"5px"}).appendTo('#image-holder');
}
var theimgs= document.getElementById("image-holder").getElementsByTagName("img") ;
for (i in theimgs)
{
theimgs[i].onclick=function (){
getimg (this) ;}
}
});
});
function getimg (z){
var n=document.getElementById("bigimg") ;
n.src= z.src ; }
var x=0 ;
function getall_next (){
x++;
var n=document.getElementById("bigimg") ;
n.src=images[x] ;
if (x==images.length)
{
x=0 ;
n.src=images[0] ;
} }
function getall_prev (){
var n=document.getElementById("bigimg") ;
if (x==0)
{
x=images.length ;
n.src=images[images.length] ;
x-- ;
}
else
x-- ;
n.src=images[x] ; }
答案 0 :(得分:0)
如果你使用jquery
,你可以用更少的代码完成所有这些,但是因为你使用普通的javascript
var image_src = document.getElementById("bigimg").src;
根据您的回复,这里有一些伪代码。
//when you set the bigimg
last_image = bigimg.src;
bigimg.src = newimg;
current_image = newimg;
//then before setting new img you
//you can access those variables you set above
答案 1 :(得分:0)
好的,经过大量研究或试验和错误后,我终于找到了解决方案:P这是我的代码现在完美运行,加上一个非常有用的链接,帮助我http://thecodeplayer.com/walkthrough/jquery-css3-lightbox-tutorial。我不得不调整它 - 我使用php从文件夹中获取图像 - 所以这里是:
var images=new Array();
var i;
$(document).ready(function(){
$.getJSON("MY_img_array.php", function(json){
for(i=0; i<json.length; i++)
{
images[i]="images/"+json[i];
$('<img>').attr('src',images[i]).css({"width":"60px", "padding":"5px"}).appendTo('#imgarray');
}
$("#imgarray img").click(function() {
$("#imgarray img.active").removeClass("active");
$(this).addClass("active");
var large_img = new Image();
large_img.src = this.src;
$('div#bigimg').html(large_img);
});
$("#prevbtn").click(function(){ navigate(-1) });
$("#nextbtn").click(function(){ navigate(1) });
function navigate(direction) {
if(direction == -1) // left
$("#imgarray img.active").prev().trigger("click");
else if(direction == 1) //right
$("#imgarray img.active").next().trigger("click");
}
});
});