1

次の 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>
4

1 に答える 1

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() 

それほど違いはありません。何が問題を引き起こしているのか、あなたが本当に達成しようとしていることはわかりません。

于 2012-04-21T23:04:34.993 に答える