if语句被其他语句卡住了
if statement gets stuck at else
我正试图通过点击同一个单词来显示和消失菜单。我刚开始学习这些语言。但我认为我正在取得一些进展。在阅读了很多关于这里和其他在线来源后,我发现了这一点:
var main = function() {
if($('.menu').css('top') == '-65px') {
$('.icon-menu').click(function() {
$('.menu').animate({top: '10px'}, 400);
$('.content').animate({top: '10px'}, 400);
});
}
else {
$('.icon-menu').click(function() {
$('.menu').animate({top: '-65px'}, 400);
$('.content').animate({top: '-65px'}, 400);
});
}
};
$(document).ready(main);
到目前为止,我可以让菜单出现,但不会消失。
谁能帮我?
您只检查菜单状态一次,而不是每次单击。把事情翻过来:
var main = function() {
$('.icon-menu').click(function() {
if ($('.menu').css('top') == '-65px') {
$('.menu').animate({top: '10px'}, 400);
$('.content').animate({top: '10px'}, 400);
}
else {
$('.menu').animate({top: '-65px'}, 400);
$('.content').animate({top: '-65px'}, 400);
}
});
};
您在绑定事件时检查菜单的位置,因此始终会有一个或另一个事件处理程序将被绑定,并且在处理事件时不会更改。
使用一个事件处理程序,并在事件发生时检查位置:
$('.icon-menu').click(function() {
if($('.menu').css('top') == '-65px') {
$('.menu').animate({top: '10px'}, 400);
$('.content').animate({top: '10px'}, 400);
} else {
$('.menu').animate({top: '-65px'}, 400);
$('.content').animate({top: '-65px'}, 400);
}
});
相关文章:
- If语句只执行第一个条件并运行其他条件,但没有结果
- 如果..其他 引号内的语句
- 比使用大量其他 if 语句更有效的方法
- 函数中的If语句会创建其他对象
- 为什么下面的if语句排除了一个'It’s和其他的一样
- 使用javascript中的if和else语句来显示图像(如果图像不存在,则显示其他图像)
- '其他'在我的if/else语句中,从来没有发生过——有人能解释为什么吗
- 是否可以将条件语句或其他javascript作为参数传递到ember句柄中
- 如果其他语句层次结构 JS
- 如果其他语句 JavaScript
- 其他单选按钮在使用 Javascript 函数根据 if 语句选择某些单选按钮后不可单击
- 在我的测试脚本中,我运行了 if 语句,但我从未运行过其他语句?我做错了什么
- 全局如果其他语句
- 介绍JS学生使用isNaN(与其他语句结合使用)提取字符串
- if 语句并返回 var === 其他东西
- Firefox ONLY不会在if语句中运行一行javascript代码,但会运行其他行——chrome和safari运
- if语句被其他语句卡住了
- 我可以使用按钮来调用函数,但不能从搜索设置的if语句中调用,但可以调用任何其他函数
- QUEUE和'如果''其他''而'语句和运行函数
- 有没有一种方法可以为querySelectors编写开关语句或其他解决方案