为什么会是-2呢?

为什么会是-2呢?

var index=0;

//index++;
//if(index>len-1){
//    index=0;
//}
index > len-2 ? index = 0 : index++;

特别喜欢用三元不知道是不是好习惯。这个有点搞不懂,虽然效果一样但是不理解

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你这段代码错误点太多,而且也没有输出语句,还有注释掉的内容,不知道你到底让老师帮你看什么问题,请你再重新粘贴你不懂的代码,说明白哪里不懂,没用的代码删掉,只留有用的。这样老师才能准确的为你查找问题。

祝学习愉快!

  • 纯情掉了一地 提问者 #1
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script type="text/javascript"> len=4; var index=0; var timer1=setInterval(function () { index > len - 2 ? index = 0 : index++; console.log(index); }, 1000); var timer2=setInterval(function () { index++; if(index>len-1){ index=0 } console.log(index); }, 1000); </script> </body> </html>
    2018-01-05 12:20:14
  • 纯情掉了一地 提问者 #2
    timer1 和timer2 可以实现相同效果 ,为什么timer1中要-2 呢?? 谢谢
    2018-01-05 12:21:36
  • 纯情掉了一地 提问者 #3
    回复代码没有格式化 我添加到了回答
    2018-01-05 12:22:12
JH鹰 2018-01-05 12:42:40

你  怎么在外面定义了个全局变量len呢 ?  var len = 4;这样的习惯才好 var  index=0;   index大于零len就自动归零了 你肯定是2 了  len - 2 =2   3>2   自动归零

  • 提问者 纯情掉了一地 #1
    这段代码轮播图插件 len表示图片和按钮数量
    2018-01-05 13:38:31
  • 提问者 纯情掉了一地 #2
    谢谢你 ,我忘记声明了
    2018-01-05 13:39:42
  • 提问者 纯情掉了一地 #3
    我知道了,在三元运算中,index++先执行
    2018-01-05 13:51:24
提问者 纯情掉了一地 2018-01-05 12:20:35

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
</head>
<body>
<script type="text/javascript">
len=4;
var index=0;
var timer1=setInterval(function () {
       index > len - 2 ? index = 0 : index++;
console.log(index);
}, 1000);

var timer2=setInterval(function () {
       index++;
if(index>len-1){
           index=0
}
       console.log(index);
}, 1000);
</script>
</body>
</html>

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师