所以我在点击这个按钮时遇到了一些麻烦......
它不是很好,因为 baseexpand 和 fullcollapse 应该是类,但我没有足够的技能重新编写一整套函数来适应它,因为它们有大约 50 个依赖项。
总而言之,这里有两个函数....
// Full collapse
$( '#fullcollapse' ).click(function(){
$( '#menu' ).multilevelpushmenu( 'collapse' );
});
// Base expand
$( '#baseexpand' ).click(function(){
$( '#menu' ).multilevelpushmenu( 'expand' );
});
它们展开和折叠侧边栏菜单....我有 2 个按钮,看起来像这样....
<a id="fullcollapse" class="nav-toggle" role="button" href="#"><span></span></a>
<a id="baseexpand" class="nav-toggle" role="button" href="#"><span></span></a>
我想将这些按钮变成一个切换按钮,每次点击时在 id 之间切换。
我现在已经连续阅读了大约 6 个小时的文档,并试图研究它,但无法解决这个问题。请帮忙
最佳答案
尝试用这个包装器编写你的函数
var toggle = function (funcA, funcB) {
var flag = true;
return function () {
if (flag) {
funcA();
} else {
funcB();
}
flag = !flag;
};
};
应用它
$('#btn').click(toggle (function (){
$('#menu').multilevelpushmenu( 'collapse' ); // happens 1, 3, 5, 7, ... time clicked
}, function (){
$('#menu').multilevelpushmenu( 'expand' ); // happenes 2, 4, 6, 8, ... time clicked
}));
bonus 我重新实现了 toggle 以便能够传播返回值。
var toggle = function (a, b) {
var togg = false;
return function () {
// passes return value back to caller
return (togg = !togg) ? a() : b();
};
};
关于javascript - 将两个函数绑定(bind)到 jQuery 中的一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30386333/