![](/img/trans.png)
[英]Javascript, toggle between open and close button to push content div in and out
[英]javascript toggle button to open and close a div
如何獲得切換按鈕,不僅可以將名稱從視圖更改為隱藏,還可以顯示div標簽中包含的表?
我的腳本當前具有以下內容:
<script type = "text/javascript">
function buttonToggle(where,pval,nval)
{
where.value = (where.value == pval) ? nval : pval;
}
</script>
這是按鈕的代碼:
<input type="button" name="button1" id="nextbt" value="View " onclick="buttonToggle(this,'View ','Hide ')">
好吧,如果您可以使用jQuery,那將非常簡單:
$('#nextbt').click(function() {
if ($(this).attr('value') == 'show') {
$(this).attr('value', 'hide');
$('#myotherdiv').slideDown();
} else {
$(this).attr('value', 'show');
$('#myotherdiv').slideUp();
}
// or if you don't care about changing the button text, simply:
$('#myotherdiv').slideToggle();
});
此處更多信息: http : //api.jquery.com/slideToggle/
就像是:
function buttonToggle(where,pval,nval) {
var display = where.value === nval ? 'none' : 'block'; // or 'table'
document.getElementById('yourTableId').style.display = display;
where.value = (where.value == pval) ? nval : pval;
}
或更好:
function buttonToggle(source, target, show_val, hide_val) {
var display = source.value === hide_val ? 'none' : 'block'; // or 'table'
target.style.display = display;
source.value = (source.value == show_val) ? hide_val : show_val;
}
而不是內聯添加您的點擊處理程序,請使用JavaScript:
document.getElementById('nextbt').onclick = (function() {
var table = document.getElementById('yourTableId');
return function() {
toggleButton(this, table, 'View', 'Hide');
};
}());
使用jQuery。 參見演示http://jsfiddle.net/nBJXq/2/
假設您將要顯示/隱藏的表的id
添加為按鈕的rel
屬性:
<input type="button" name="button1" id="nextbt"
rel="myTable" value="View "
onclick="buttonToggle(this,'View ','Hide ')">
<table id="myTable">
<tr>
<td>myTable</td>
</tr>
</table>
然后,您可以將以下內容添加到buttonToggle
函數中:
function buttonToggle(where, pval, nval) {
var table = document.getElementById(where.attributes.rel.value);
where.value = (where.value == pval) ? nval : pval;
table.style.display = (table.style.display == 'block') ? 'none' : 'block';
}
您將需要將div的style.visible
更改為visible
或hidden
,和/或將style.display
設置為block
或none
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.