2015-02-09 166 views
-2

我想讓一個div切換其可見性,當一個按鈕被點擊。目前我可以隱藏div,但我很難再次看到它。隱藏/顯示一個DIV

function unhide(divID) { 
//var item = document.getElementById(divID); 
//if (item) { 
// item.className = (item.className == 'hidden') ? 'unhidden' : 'hidden'; 
// $('#SearchParParams').toggle() 
//} 
var group = $('.group'), 
target = group.filter('#' + divID); 

if (target.className =='group hidden') { 
    group.removeClass('unhidden').addClass('hidden'); 
    target.addClass('unhidden').removeClass('hidden'); 
    target.length == 0; 
} 
if (target.className == 'group unhidden') { 
    group.removeClass('hidden').addClass('unhidden'); 
    target.addClass('hidden').removeClass('hidden'); 
    target.length = 1; 
} 

//$('#SearchAddParams,#SearchParParams').click(function() { 
// $('#SearchParParams, #SearchAddParams').toggle(); 
//}); 
} 

回答

2

我想你太努力了。如果你想顯示和隱藏onClick元素,你可以使用toggle()。

//When you click this button 
$('button').click(function(){ 
//Show or hide this div, depending on its state 
    $('div').toggle(); 
}); 

DEMO

+0

,但我想的到的信息首先被隱藏,因爲這是綁成三個搜索是不同的,會爲這個隱藏元素的工作? – 2015-02-09 22:59:15

+0

您可以使用CSS或JS將元素設置爲隱藏。例如'div {display:none;}' – 2015-02-09 23:00:33

+0

如果你想控制隱藏它與css(即'visibility:hidden'),你也可以使用'$('div')。toggleClass('hidden');'to只需切換一個類。 – JustH 2015-02-10 01:54:28

1

更改您的代碼

if (target.className == 'group unhidden') { 
 
    group.removeClass('hidden').addClass('unhidden'); 
 
    target.addClass('hidden').removeClass('unhidden'); 
 
    target.length = 1; 
 
}

不知道是否能解決此問題,但這種變化肯定需要作出。