如何最小化jQuery脚本
我正在处理jQuery库中的simples操作如何最小化jQuery脚本,jquery,Jquery,我正在处理jQuery库中的simples操作 $('#hasAccount').click(function() { $('.authForm').slideDown(500, function() { if ($('.shippingAddress').is(':visible')) { $('.shippingAddress').slideUp(250); } }); });
$('#hasAccount').click(function() {
$('.authForm').slideDown(500, function() {
if ($('.shippingAddress').is(':visible')) {
$('.shippingAddress').slideUp(250);
}
});
});
$('#hasNotAccount').click(function() {
$('.shippingAddress').slideDown(500, function() {
if ($('.authForm').is(':visible')) {
$('.authForm').slideUp(250);
}
});
});
代码如下:
这很简单,但我想知道是否有任何解决方案可以将此脚本最小化为1个动作
谢谢:-)您可以使用slideToggle并丢失if语句您可以使用slideToggle并丢失if语句来吧-尽管有数百万种方法可以做得更好/更好/更紧凑。。。这是我脑子里最快的…:/
[编辑]虽然-这是基于
名称
属性的-所以用另一种方法可能更好:)来吧-尽管有数百万种方法可以做得更好/更好/更紧凑。。。这是我脑子里最快的…:/
[编辑]虽然-这是基于
名称
属性的-所以最好换一种方式:)试试看,我不擅长jquery:
$('input[name="account"]').click(function(e) {
if(e.target.id == 'hasAccount') {
$('.authForm').slideDown(500, function() {
if ($('.shippingAddress').is(':visible')) {
$('.shippingAddress').slideUp(250);
}
});
} else {
$('.shippingAddress').slideDown(500, function() {
if ($('.authForm').is(':visible')) {
$('.authForm').slideUp(250);
}
});
}
});
试试看,我不是jquery专家:
$('input[name="account"]').click(function(e) {
if(e.target.id == 'hasAccount') {
$('.authForm').slideDown(500, function() {
if ($('.shippingAddress').is(':visible')) {
$('.shippingAddress').slideUp(250);
}
});
} else {
$('.shippingAddress').slideDown(500, function() {
if ($('.authForm').is(':visible')) {
$('.authForm').slideUp(250);
}
});
}
});
在更通用的dom中包含这两个函数怎么样。在更通用的dom中包含这两个函数怎么样。可能是这样吗 也许是这个
有什么实际用途吗?还是更多的是代码高尔夫?如果是这样,您可能希望包含此标签!有什么实际用途吗?还是更多的是代码高尔夫?如果是这样,您可能希望包含此标签!谢谢你的回答Neuro:o)Neuro,你认为我可以使用hasClass()来压缩脚本吗?我最后使用了input[name=“…”]属性。谢谢:o)谢谢你的回答Neuro:o)Neuro,你认为我可以使用hasClass()来压缩你的脚本吗?我终于使用了input[name=“…”]属性。谢谢:o)是的,但是使用slideToggle,您可以选中单选按钮关闭您的框:-(是的,但是使用slideToggle,您可以选中单选按钮关闭您的框:-(我认为这是迄今为止给出的最有效的答案(不在同一元素上运行多个$()搜索)。我唯一要说的是,我将执行$(“#hasAccount,#hasNotAccount”)而不是$('input[name=“account”]),因为它更具体(总是只迭代这两个元素),id选择器通常更有效。我想说这是迄今为止给出的最有效的答案(不是在同一个元素上运行多个$()搜索)。我想说的唯一一件事是我会做$('hasAccount,#hasNotAccount')而不是$('input[name=“account”]”),因为它更具体(总是只迭代这两个元素),id选择器通常更有效。