JS为什么另一个不符合的if中一段代码会被执行

Xiao灬佳 2017-09-09 06:29:10

$(document).on('mousewheel',function (e) {
var dir = e.originalEvent.wheelDeltaY > 0 ? 'up':'down';
console.log(dir);
if(isComplete){
isComplete = false;
console.log(dir);
if(dir == 'up' && i > 0){
$(arr[i]).addClass('tran').removeClass('now').addClass('next');
$(arr[i-1]).addClass('tran').removeClass('last').addClass('now');
$(arr[i-2]).addClass('last');
$(arr[i]).on("transitionend",function () {
$(arr[i-1]).removeClass('tran');
$(arr[i]).removeClass('tran');
--i;
console.log(i);
isComplete = true;
});
}else if(dir == 'down' && i<arr.length-1){
$(arr[i]).addClass('tran').removeClass('now').addClass('last');
$(arr[i+1]).addClass('tran').removeClass('next').addClass('now');
$(arr[i+2]).addClass('next');
$(arr[i]).on("transitionend",function () {
$(arr[i+1]).removeClass('tran');
$(arr[i]).removeClass('tran');
++i;
console.log(i);
isComplete = true;

});
}else{
isComplete = true;
}

}
});


...全文
345 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xiao灬佳 2017-09-10
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
不要在if判断中用on()绑定的事件 要直接绑定的事件 在on()绑定的事件的内再用if判断
哦哦哦,好的谢谢,请问可以解释一下原理吗?
天际的海浪 2017-09-09
  • 打赏
  • 举报
回复
不要在if判断中用on()绑定事件 要直接绑定事件 在on()绑定的事件内再用if判断
天际的海浪 2017-09-09
  • 打赏
  • 举报
回复
不要在if判断中用on()绑定的事件 要直接绑定的事件 在on()绑定的事件的内再用if判断

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧