我正在尝试创建一个滑动菜单,使用toggle()方法,但在滑入视图时需要调用一个函数(它与div height交互)。为此,我使用了step选项(如文档中所示)来调用此函数,该函数很快就会开始滑动。我做了很多测试,这个选项似乎不适用于toggle()。
我试着用同样的调用来使用animate(),它工作得很好…?
我在这里做了一个简单的小提琴( JSFiddle )来说明这个问题。
我已经在最新版本的IE和Chrome1.11.0版本的jQuery上试用过了
// This is for toggle method
$(document).on("click", "#toggle", function(){
$("#menu").toggle({effect: "slide", direction: "left", width: "show", step: function(){
if ($("#menu").hasClass("open")){ //***** THIS IS NEVER EXECUTED
$("#menu").removeClass("open");
$(this).css("background-color", "red");
} else{
$("#menu").addClass("open");
$("#menu").css("background-color", "green");
}
}
}) ;
});
发布于 2014-05-02 14:38:28
小提琴中的代码没有正确地包含在括号中(步骤在另两个{}中);因此选项没有正确传递给切换函数。
代码:
// This is for toggle method
$(document).on("click", "#toggle", function(){
$("#menu").toggle({effect: "slide", direction: "left", width: "show", step: function(){
if ($("#menu").hasClass("open")){ //***** THIS IS NEVER EXECUTED
$("#menu").removeClass("open");
$(this).css("background-color", "red");
} else{
$("#menu").addClass("open");
$("#menu").css("background-color", "green");
}
}
}) ;
});
https://stackoverflow.com/questions/23430612
复制相似问题