javascript - 无法让我的 if else 语句逻辑工作

标签 javascript jquery carousel

我一直致力于用 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');
});

关于如何解决此问题的一些反馈以及一些解决方案的提示将不胜感激。

JSFiddle http://jsfiddle.net/kapena/v82pvq7x/1/

最佳答案

Return statement将退出该功能。之后的任何内容都不会运行。如果您想实际返回该数字,则需要在最后执行此操作。

我认为您实际上想设置当前而不是返回。而且你的逻辑确实没有任何意义。大多数人会像这样进行检查:

current++;
if (current >= lengthOfImages) {
    current = 0;
}

关于javascript - 无法让我的 if else 语句逻辑工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471572/

相关文章:

javascript - 运行 jQuery,重新加载,冲洗并重复......如何?

javascript - jQuery fadeTo() 不会因 appendTo() 完成而褪色

javascript - 复制元素的 Onclick 事件

javascript - 如何将弹出框内的输入标签绑定(bind)到 Vue 模型

javascript - 无法使用 Handlebars 助手渲染 json 详细信息

wordpress - 在 Wordpress 中集成 Bootstrap Carousel 并分页显示每页 3 个帖子

javascript - Owl Carousel 2随机功能

javascript - 无法以 Angular 加载新的模块依赖项

javascript - Viewchild undefined with material angular matsidenav

javascript - JQuery循环遍历div并根据数据属性构建多行字符串