DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js設置控件的隱藏與顯示的兩種方法
js設置控件的隱藏與顯示的兩種方法
編輯:關於JavaScript     

用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值。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved