2014-04-26 88 views
0

在點擊事件中,頁面加載遊戲板,並隱藏/顯示多個元素。創建一個JavaScript函數來隱藏元素?

而不必在功能混合這個巨人的事情:

$('.playervscomputer').css('display', 'block'); 
$('.player_vs_cpu_board').css('display', 'block'); 
$('.player_vs_computer_color_selection').css('display', 'block'); 
$('.player_vs_computer_start_button').css('display', 'block'); 
$('.header').css('display', 'block'); 
$('.hide_answer').css('display', 'block'); 
$('.intro').remove(); 
$('.player_board_header').css('display', 'inline'); 
$('.intro').css('padding-top', 'none'); 
$('#show_after_starting').css('display', 'inline'); 
$('#mastermind_table_ten_cpu').css('background-color', 'yellow') 

有誰知道,如果有可能,當點擊事件發生在其自身的功能來包裝這件事,只是調用該函數?我想這一點,但它是不成功的(我假設我這樣做是錯誤的...)

感謝

+1

此功能請告訴我從一個函數寫這阻止你?還是它重新使用你正試圖實現?什麼是特定用例? – deostroll

+0

請添加您的html代碼。 –

+0

你想做什麼?隱藏幾個元素並展示其他一些元素? – scripter

回答

3

只是喜歡這個逗號一一列舉:

$('.playervscomputer, .player_vs_cpu_board, .player_vs_computer_color_selection, .player_vs_computer_start_button, .header, .hide_answer').css('display', 'block'); 
$('.intro').remove(); 
$('.player_board_header, #show_after_starting').css('display', 'inline'); 
$('.intro').css('padding-top', 'none'); 
$('#mastermind_table_ten_cpu').css('background-color', 'yellow') 

編輯:雖然在我看來,最好的辦法將是,如果你讓一個CSS類是這樣的:

.dblock .playervscomputer,.dblock .player_vs_cpu_board, .dblock .player_vs_computer_color_selection, .dblock .player_vs_computer_start_button, .dblock .header, .dblock .hide_answer 
{ 
display: block; 
} 

,只是做$("parent-selector").addClass("dblock")來的父元素所有這些盒子。這將是最快和最乾淨的方法。另外jQuery查詢很昂貴。不要過度使用它們。

+0

Ahhhhhh是的,我是一個白癡...... 謝謝! – user3007294

+0

還有'$()。show'和'$()。hide' –

+0

@ user3007294我編輯了我的文章並添加了一個CSS解決方案。 – Deepsy

0

那麼你可以鏈之類的東西,並呼籲準備

function init() { 
    $('.playervscomputer , .player_vs_cpu_board').css('display', 'block'); 

} 

$(document).ready(function() { 
init(); 

});