如何优化click()的jQuery代码

时间:2012-04-21 22:33:02

标签: jquery

我如何优化以下jQuery代码?

var $open = $('#open'),
        $panel = $('div#panel'),
        $close = $('#close'),
        $switch = $('#toggle');
$open.click(function(){
    $panel.slideDown('slow');
});
$close.click(function(){
    $panel.slideUp('slow');
});
$switch.children('p').click(function(){
    $switch.children('p').toggle();
});
$close.css({'display':'none'});

我认为有更好的方式来写这个。

这是它所属的HTML代码。

<div class="tab">
  <ul class="login">
    <li class="left">&nbsp;</li>
    <li>&nbsp;</li>
    <li id="toggle">
      {if $smarty.session.customer_id}
      <a id="open" class="open" href="{$logoff}" title="{#link_logoff#}">{#link_logoff#}</a>{else}<p id="open" class="open">{#link_login#}</p>
      {/if}
      <p id="close" class="close">Schließen</p>         
    </li>
    <li class="right">&nbsp;</li>
  </ul> 
</div>

1 个答案:

答案 0 :(得分:0)

我可能会这样写:

    var $open = $('#open'),
        $panel = $('div#panel'),
        $close = $('#close')

    $open.click(function(){
        $panel.slideDown('slow');
    });

    $close.click(function(){
        $panel.slideUp('slow');
    });

    $('#toggle p').click(function(){
        $('#toggle p').toggle();
    });

    $close.hide() 

没有太大的不同,我不知道是什么给你带来了问题以及你真正想要实现的目标。