更有效的方式来写这个jquery代码
有没有更好,更有效的方式来编写这段代码?这是一个转换下拉菜单,允许用户为多人提供RSVP。对不起,这有点乱,但我认为我正在做的事很清楚。如果没有,我在我的电脑上,并将迅速做出响应,并提供更多信息。更有效的方式来写这个jquery代码
//There's got to be a better way to do this
$('#guest_num_1').click(function() {
$('#num_guests a#quant_guests').html("1")
$('.guest_name_2, .guest_name_3, .guest_name_4, .guest_name_5, .guest_name_6 ').hide()
});
$('#guest_num_2').click(function() {
$('#num_guests a#quant_guests').html("2")
$('.guest_name_2').fadeIn()
$('.guest_name_3, .guest_name_4, .guest_name_5, .guest_name_6').hide()
});
$('#guest_num_3').click(function() {
$('#num_guests a#quant_guests').html("3")
$('.guest_name_2, .guest_name_3').fadeIn()
$('.guest_name_4, .guest_name_5, .guest_name_6').hide()
});
$('#guest_num_4').click(function() {
$('#num_guests a#quant_guests').html("4")
$('.guest_name_2, .guest_name_3, .guest_name_4').fadeIn()
$('.guest_name_5, .guest_name_6').hide()
});
$('#guest_num_5').click(function() {
$('#num_guests a#quant_guests').html("5")
$('.guest_name_2, .guest_name_3, .guest_name_4, .guest_name_5').fadeIn()
$('.guest_name_6').hide()
});
$('#guest_num_6').click(function() {
$('#num_guests a#quant_guests').html("6")
$('.guest_name_2, .guest_name_3, .guest_name_4, .guest_name_5, .guest_name_6').fadeIn()
});
$('.guest_num').click(function() {
var n = $(this).attr('href').split('#')[1];
$('#num_guests a#quant_guests').html(n);
var curr = $('.guest_name_' + n);
curr.prevAll().fadeIn();
curr.fadeIn();
curr.nextAll().hide();
return false;
});
在HTML方面:
<a class="guest_num" href="#1">...</a>
+1我正在写出非常精确的代码。 :] – 2010-04-20 21:19:35
看起来我是一个更快的typer;)它仍然非常丑陋,虽然... – 2010-04-20 21:20:35
非常感谢你们! – adamwstl 2010-04-20 21:39:08
使用循环和存储这些 “guest_num_1” 并为每eteration改变与循环索引 '1'
你听说过关于循环? – mkoryak 2010-04-20 21:12:12
是的,我是这样的初学者,这是我可以放在一起的最好的。看起来它有很多冗余。 – adamwstl 2010-04-20 21:13:37
这也取决于您的HTML代码。我认为,你的标记也可以改进,然后你的JS可以改进。 – 2010-04-20 21:15:26