【发布时间】:2012-07-12 04:55:11
【问题描述】:
使以下代码可重用的正确方法是什么(这样我每次想要隐藏/显示一组 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(我认为 @可能使用了 987654323@),(2) 什么 div 到 fadeOut 和 (3) 什么 div 到 fadeIn。我似乎无法正确创建和传递变量,但我想最终的可重用函数看起来像这样:
// divToggler
$('$this').click(function() {
$('#divToFadeOut').fadeOut(400, function () {
$('#divToFadeIn').fadeIn(400);
});
});
提前非常感谢!
伯克利
【问题讨论】:
-
能否请您发布一些关于 div 的示例 html?
标签: javascript jquery css jquery-selectors