1. 程式人生 > >js中設定控制元件的隱藏與顯示

js中設定控制元件的隱藏與顯示

用JavaScript隱藏控制元件的方法有兩種,分別是通過設定控制元件的style的“display”和“visibility”屬性。當style.display="block"或style.visibility="visible"時控制元件或見,當style.display="none"或style.visibility="hidden"時控制元件不可見。不同的是“display”不但隱藏控制元件,而且被隱藏的控制元件不再佔用顯示時佔用的位置,而“visibility”隱藏的控制元件僅僅是將控制元件設定成不可見了,控制元件仍然佔俱原來的位置。
 
 
function displayHideUI()
{
     var ui =document.getElementById("bbs");
    ui.style.display="none";
}
function displayShowUI()
{
     var ui =document.getElementById("bbs");
     ui.style.display="";//display為空的話會好使,為block會使後邊的空間換行
}
 
 
function visibilityHideUI()
{
     var ui =document.getElementById("bbs");
    ui.style.visibility="hidden";
}
function visibilityShowUI()
{
     var ui =document.getElementById("bbs");
    ui.style.visibility="visible";
}
</script>
 
 
值               描述
none 此元素不會被顯示。
block 此元素將顯示為塊級元素,此元素前後會帶有換行符。
inline 預設。此元素會被顯示為內聯元素,元素前後沒有換行符。
inline-block 行內塊元素。(CSS2.1新增的值)
list-item 此元素會作為列表顯示。
run-in 此元素會根據上下文作為塊級元素或內聯元素顯示。
compact CSS 中有值compact,不過由於缺乏廣泛支援,已經從CSS2.1 中刪除。
marker CSS 中有值marker,不過由於缺乏廣泛支援,已經從CSS2.1 中刪除。
table 此元素會作為塊級表格來顯示(類似<table>),表格前後帶有換行符。
inline-table 此元素會作為內聯表格來顯示(類似<table>),表格前後沒有換行符。
table-row-group 此元素會作為一個或多個行的分組來顯示(類似<tbody>)。
table-header-group 此元素會作為一個或多個行的分組來顯示(類似<thead>)。
table-footer-group 此元素會作為一個或多個行的分組來顯示(類似<tfoot>)。
table-row 此元素會作為一個表格行顯示(類似<tr>)。
table-column-group 此元素會作為一個或多個列的分組來顯示(類似<colgroup>)。
table-column 此元素會作為一個單元格列顯示(類似<col>)
table-cell 此元素會作為一個表格單元格顯示(類似<td>和<th>)
table-caption 此元素會作為一個表格標題顯示(類似<caption>)
inherit 規定應該從父元素繼承display屬性的值。



今天解決的問題是在jsp頁面中給css定義的label.error的類一個id,然後通過控制id的可見性來實現收起div時清除js的提示資訊。具體如下:
 在準備介面的函式中var label1 = document.getElementById("label1");
$(document).ready(function() {
$(".flipp .span4").click(function() {
$(this).parent().next().toggle();
$(this).parent().parent().prevAll().find(".panel").hide();
$(this).parent().parent().nextAll().find(".panel").hide();
 var label1 = document.getElementById("label1");
      label1.style.display="none";
})
然後在jsp相應的地方加入:
<label class="error" id="label1" for="currentPWD" generated="true" style="display:inline"></label>

對於css定義的label.error類,可以使用$("label.error").removeAttr("style").attr("style", "display: none;");來實現如上的功能。。。。。而且,貌似也不用在地下相應的位置給label定義id值。。。。。。。