问问题
124777 次
8 回答
21
您正在尝试更改onclick
同一函数调用内部的行为。试试这样:
锚标记
<a id="loginLink" onclick="toggleTable();" href="#">Login</a>
JavaScript
function toggleTable() {
var lTable = document.getElementById("loginTable");
lTable.style.display = (lTable.style.display == "table") ? "none" : "table";
}
于 2013-03-29T06:38:05.337 回答
7
使用jquery简单
<script>
$(document).ready(function() {
$('#loginLink').click(function() {
$('#loginTable').toggle('slow');
});
})
</script>
于 2013-03-29T06:41:03.273 回答
4
您需要将您的功能修改为:
function toggleTable()
{
if (document.getElementById("loginTable").style.display == "table" ) {
document.getElementById("loginTable").style.display="none";
} else {
document.getElementById("loginTable").style.display="table";
}
目前它正在根据boolean
参数进行检查,您不必将参数与您的函数一起传递。
您需要将锚标记修改为:
<a id="loginLink" onclick="toggleTable();" href="#">Login</a>
于 2013-03-29T06:37:55.123 回答
2
于 2013-03-29T06:44:04.863 回答
1
您的锚标记应为:
<a id="loginLink" onclick="showHideTable();" href="#">Login</a>
你的javascript函数:
function showHideTable()
{
if (document.getElementById("loginTable").style.display == "none" ) {
document.getElementById("loginTable").style.display="";
} else {
document.getElementById("loginTable").style.display="none";
}
于 2013-03-29T10:22:40.650 回答
0
您始终将 true 传递给 toggleMethod,因此它将始终“显示”表格。我将创建一个全局变量,您可以改为在切换方法中翻转它。
或者,您可以检查表的可见性状态而不是显式变量
于 2013-03-29T06:38:02.977 回答
0
尝试
<script>
function toggleTable()
{
var status = document.getElementById("loginTable").style.display;
if (status == 'block') {
document.getElementById("loginTable").style.display="none";
} else {
document.getElementById("loginTable").style.display="block";
}
}
</script>
于 2013-03-29T06:42:51.657 回答
0
visibility
属性使元素可见或不可见。
function showTable(){
document.getElementById('table').style.visibility = "visible";
}
function hideTable(){
document.getElementById('table').style.visibility = "hidden";
}
于 2017-09-19T05:14:13.947 回答