2014-04-26 43 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(); 

});