Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何最小化jQuery脚本_Jquery - Fatal编程技术网

如何最小化jQuery脚本

如何最小化jQuery脚本,jquery,Jquery,我正在处理jQuery库中的simples操作 $('#hasAccount').click(function() { $('.authForm').slideDown(500, function() { if ($('.shippingAddress').is(':visible')) { $('.shippingAddress').slideUp(250); } }); });

我正在处理jQuery库中的simples操作

$('#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选择器通常更有效。