2010-05-10 70 views
0

2部分問題在這裏...我有幾個DIV使用簡單的.click show()函數來顯示內容。有沒有一種方法可以將這些結合起來修剪我的代碼?我不確定,因爲他們都顯示唯一ID的DIV。jQuery使用轉義鍵關閉切換

$('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; 
    }); 

問題的第二部分......我怎麼能整合方面,用戶可以只按下Esc鍵也混合動力內燃機(或接近)顯示的框?

回答

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

你可以改變你隱藏功能的for循環太多,然後調用它,而不是通過做關閉太$(「a。關閉」)。點擊(),它會調用點擊a。關閉,而不是。