使以下代码可重用的正确方法是什么(这样我每次想要隐藏/显示一组 DIV 时就不必拥有这么多相同功能的版本):
// instructions
$('#hideInstructionsOverview').click(function() {
$('#instructionsOverview').fadeOut(400, function () {
$('#instructionsDetail').fadeIn(400);
});
});
$('#hideInstructionsDetail').click(function() {
$('#instructionsDetail').fadeOut(400, function () {
$('#instructionsOverview').fadeIn(400);
});
});
// group
$('#hideGroupOverview').click(function() {
$('#groupOverview').fadeOut(400, function () {
$('#groupDetail').fadeIn(400);
});
});
$('#hideGroupDetail').click(function() {
$('#groupDetail').fadeOut(400, function () {
$('#groupOverview').fadeIn(400);
});
});
上面的代码以相同的方式用于隐藏“instructions”和“group” div(以及大约 7 个其他 div 以相同的方式)。每个调用的类似方式是使用以下代码:
<a id="hideInstructionsOverview" href="javascript:void(0);"><img src="img/misc/plus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideInstructionsDetail" href="javascript:void(0);"><img src="img/misc/minus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideGroupOverview" href="javascript:void(0);"><img src="img/misc/plus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideGroupDetail" href="javascript:void(0);"><img src="img/misc/minus.png" alt="" width="40" height="40" border="0"></a>
我在想有一种方法可以创建一个接受变量的函数,并在点击时传递三个变量:(1)点击了什么图像 id(我认为这$this
可能被使用),(2)什么 divfadeOut
和(3)什么 div 到fadeIn
. 我似乎无法正确创建和传递变量,但我想最终的可重用函数看起来像这样:
// divToggler
$('$this').click(function() {
$('#divToFadeOut').fadeOut(400, function () {
$('#divToFadeIn').fadeIn(400);
});
});
提前非常感谢!
伯克利