中断不适用于我的开关语句
Break isn't working on my switch statement
这是我的代码
if (xPrev < touch.pageY) {
$("#debug").text("down :: " + nav);
xPrev = touch.pageY;
switch(nav){
case 1:
$("#container").animate({top:0});
nav --;
break;
case 2:
$("#container").animate({top:-alto});
nav --;
break;
}
} else if (xPrev > touch.pageY) {
$("#debug").text("up :: " + nav);
xPrev = touch.pageY;
switch(nav){
case 0:
$("#container").animate({top:-alto});
nav ++;
break;
case 1:
$("#container").animate({top:-(alto*2)});
nav ++;
break;
}
};
我正在尝试在向下滑动然后停止时对我的div 进行动画处理几个像素,然后在再次向下滑动时将动画化到另一个位置,但当我第一次滑动时,它直接转到第二个位置。向上滑动时也会发生同样的事情。
如果您计算起始位置,我试图在三个位置之间制作动画,ifs 将确定您是向上还是向下滑动以及朝哪个方向对 #container 进行动画
处理我有这个变量:
var alto = $(window).height();
var nav = 0;
var xPrev = 0;
我认为
问题是您对nav
不同值的映射与您正在动画的位置不匹配。为了清楚起见,我会让它也nav
- 就像y
轴从顶部的 0 开始,并随着对象的向下移动而增加。这样,您就可以清楚地映射"模型"(变量"nav")和"视图"(位置 #container)。我不完全确定你说的是三个还是四个不同的立场。以下代码将在三个不同位置之间对对象进行动画处理。
var up = xPrev < touch.pageY;
if( nav<2 && !up ) nav++;
if( nav>0 && up ) nav--;
xPrev = touch.pageY;
$("#container").animate({top:(nav-1)*alto});
相关文章:
- JavaScript 中的 if 语句与开关语句
- 尝试从开关语句 -JS- 中的函数返回值
- 使用开关语句的英文单词数字
- 使用开关语句的 Javascript 计算器
- 如何将一个开关语句放在另一个开关语句中
- 开关语句的行数更少
- 这个非常简单的开关语句有什么问题
- 开关语句中的 Javascript case 语句
- 中断不适用于我的开关语句
- 我的开关语句或文档.write();不起作用,我无法修复它
- 开关语句不适用于单击事件
- JavaScript开关语句中存在语法错误
- 有没有一种方法可以为querySelectors编写开关语句或其他解决方案
- 如何在子开关语句中使用函数参数
- Javascript开关语句未定义错误
- Javascript开关语句
- 打印javascript开关语句到HTML页面
- Jquery开关语句偶尔工作
- 减少Ctrl中的开关语句为禁用输入字段(AngularJS)
- 是一个可接受的反转开关语句