gpt4 book ai didi

javascript - 将两个函数绑定(bind)到 jQuery 中的一个按钮

转载 作者:行者123 更新时间:2023-11-30 12:23:04 25 4
gpt4 key购买 nike

所以我在点击这个按钮时遇到了一些麻烦......

它不是很好,因为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com