【发布时间】:2015-06-16 14:12:23
【问题描述】:
我的 JS 文件中有以下代码:
jQuery("document").ready(function (e) {
var menu = e(".menu-container");
var button = e(".menu-functions");
e(window).scroll(function () {
if (e(this)
.scrollTop() > 150) {
menu.addClass("f-nav");
button.addClass("collapse-expand");
button.addClass('collapse');
} else {
menu.removeClass("f-nav");
button.removeClass("collapse");
button.removeClass("expand");
button.removeClass("collapse-expand");
}
});
//problem area
$('#menu-functions').click(function(){
if(button.hasClass('collapse'))
{
button.addClass('expand');
button.removeClass('collapse');
}
if(button.hasClass('expand'))
{
button.addClass('collapse');
button.removeClass('expand');
}
});
});
现在我需要让// problem area 下的部分开始工作。我认为 jQuery 中有一个 toggleClass,对吧?一些高级条件可以解决问题,但是我仍在学习,我需要一些帮助。无论按钮状态是展开还是折叠,我还需要找到animate() .menu-container div 的方法:
- 如果按钮在具有
expand类时被单击- 用 98 像素从下到上为菜单设置动画;
- 如果按钮在具有
collapse类时被单击- 使用 98 像素从上到下为菜单设置动画。
编辑 - JSFIDDLE: jsfiddle.net/rcdhnh7L
【问题讨论】:
-
Jsfiddle 以便更好地理解......
标签: javascript jquery html css menu