【发布时间】:2019-03-24 17:47:16
【问题描述】:
我是 javascript 和 jQuery 的新手。我正在尝试创建一个在线画廊来查看照片,使用 2 个按钮“下一个”和“上一个”。它必须是循环的,例如,如果我在显示最后一张照片时单击“下一张”,则下一张照片必须是第一张。
我尝试使用 3 个变量:第一个 img、最后一个 img 和当前 img,所以我只需要执行 currimg = currimg.prev()(或 next)。并且,例如,如果显示的 img 是第一个,我会 currimg = lastimg。
$(document).ready(function() {
$("img").wrapAll("<div></div>");
$("img").nextAll().hide();
var firstimg = $("img:first");
var lastimg = $("img:last");
var currimg = firstimg;
$("#nextbutton").click(function(){
currimg.fadeOut("fast", function(){
(currimg==lastimg) ? currimg=firstimg : currimg=currimg.next();
currimg.fadeIn("fast");
});
});
$("#prevbutton").click(function(){
currimg.fadeOut("fast", function(){
(currimg==firstimg) ? currimg=lastimg : currimg = currimg.prev();
currimg.fadeIn("fast");
});
});
});
问题是循环只有在我先按 prev 时才有效。如果我单击下一步,然后单击两次上一个,它不起作用并且什么也不显示。问题出在哪里?
【问题讨论】:
-
如果你的意思是我应该只用 var currimg = lastimg 替换 var currimg = firstimg(并将 nextAll 替换为 prevAll),它并没有太大变化。这不是问题
标签: javascript jquery