我一直致力于用 jQuery 制作一个基本的小图像轮播。
目前,我陷入了 changeImage
函数内部的 if else
逻辑。
当用户单击“下一个”链接时,行中的下一个图像应该淡入。幸运的是,当我注释掉 if else
语句时,我能够实现图像淡出,但是这不是我所追求的。所以我们知道这是一个逻辑问题。
我只是不确定如何在 if else
语句中组合 条件
来实现正确的语法,我确信这个逻辑也可以更加清晰。
请查看
function changeImage (newIndex) {
var i = newIndex;
var current = i;
// `if` user clicks on next then slide image "right"
// something wrong here with my logic..
if ((newIndex === 'next') && i === (current < lengthOfImages - 1)) {
return current + 1;
}
else {
return 0;
}
// fadeout
listOfImages.fadeOut(transitionSpeed).
eq(i).fadeIn(transitionSpeed);
}
// click function on the next link
$('.next').on('click',function() {
changeImage('next');
});
关于如何解决此问题的一些反馈以及一些解决方案的提示将不胜感激。
最佳答案
Return statement将退出该功能。之后的任何内容都不会运行。如果您想实际返回该数字,则需要在最后执行此操作。
我认为您实际上想设置当前
而不是返回。而且你的逻辑确实没有任何意义。大多数人会像这样进行检查:
current++;
if (current >= lengthOfImages) {
current = 0;
}
关于javascript - 无法让我的 if else 语句逻辑工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471572/