0

ここで 2 部の質問...単純な .click show() 関数を使用してコンテンツを表示する DIV がいくつかあります。これらを組み合わせてコードをトリミングする方法はありますか? それらはすべて一意の ID を持つ DIV を表示しているため、わかりませんでした。

$('a#hmo-blue-lnk1').click(function() {
    $('#hmo-blue1').show();
    return false;
  });

$('a#hmo-blue-lnk2').click(function() {
    $('#hmo-blue2').show();
    return false;
  });

$('a#hmo-blue-lnk3').click(function() {
    $('#hmo-blue3').show();
    return false;
  });

私はこのスニペットでそれらを閉じます:

$('a.close').click(function() { 
     $('#hmo-blue1').hide();
     $('#hmo-blue2').hide();
     $('#hmo-blue3').hide();

     return false; 
  });

質問の2番目の部分...ユーザーがエスケープキーを押すだけで、表示されているボックスをハイス(または閉じる)できるという側面をどのように統合できますか?

4

1 に答える 1

3

最初の部分:

    for (i=1; i<=3; i++)
    {
           $('a#hmo-blue-lnk'+i).click(function() {
                 $('#hmo-blue'+i).show();
                 return false;
           });
    }

第二部。

$(document).keypress(function(e) { 
    if (e.which == 27) {
          for (i=i; i <=3; i++)
          {
                 $('#hmo-blue'+i).hide();
          }
    }
});

hide 関数を for ループに変更し、代わりに a.close のクリックを呼び出す $('a.close').click() を実行して、閉じる代わりにそれを呼び出すこともできます。

于 2010-05-10T15:33:21.440 に答える