javascript - jQuery 使用 delay() 和 hide()
问题描述
我有以下脚本,它在#icon-hamburger
单击时显示/隐藏下拉菜单。菜单在显示/隐藏时有一个短暂的淡入淡出动画:
// nav-mobile
$('#icon-hamburger, .icon-close').click(function() {
if ($('.nav-mobile').css('opacity') === '0') {
$('.nav-mobile').show();
$('.nav-mobile').animate({
'opacity': '1'
},
250, function() {
// Animation complete.
});
}
if ($('.nav-mobile').css('opacity') === '1') {
$('.nav-mobile').animate({
'opacity': '0'
},
250, function() {
// Animation complete.
});
$('.nav-mobile').delay(250).hide();
}
return false;
});
菜单淡入就好了,但它并没有淡出,而是消失了。我原以为以下行会允许元素在隐藏之前淡出?:
$('.nav-mobile').delay(250).hide();
解决方案
$('.nav-mobile').delay(250).hide(200);
在隐藏功能中添加一些持续时间,以便它会隐藏一些动画。
如果你想淡出元素使用 .fadeOut(200) 而不是 .hide(200) 函数。
推荐阅读
- linux - netcat 监听 udp 端口并将输入覆盖到文件
- java - 用休眠保存
- ios - 从 UITableView 拖放项目并放入 UIView 子类
- python - 如何在 Python 中生成一个总和为给定数字的随机序列?
- tcl - 在搜索结果中包含第 nr 行
- javascript - 为什么 JavaScript 闭包会这样工作?这段代码是否应该像这样工作
- javascript - 我用 javascript 创建了一个表格,但表格的内容是在 php.ini 中。如果无法在 js 中运行 php,如何在表格中插入此内容?
- mysql - MySQL 错误 #1215:无法添加外键约束
- mongodb - 使用 Camel 的 MongoDB 的 Spring Boot 自动配置,如何知道 application.properties
- c - 从雅虎财经一次下载多个股票