javascript - JavascriptでタグのonClickでテーブルをトグル(非表示/表示)する方法
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
toggleTable
この行を実行すると、関数内で
document.getElementById("loginLink").onclick = toggleTable(....
実際に関数を再度呼び出しています。sotoggleTable
が何度も呼び出され、無限の再帰呼び出しに陥っています。
それを簡単に。
function toggleTable()
{
var elem=document.getElementById("loginTable");
var hide = elem.style.display =="none";
if (hide) {
elem.style.display="table";
}
else {
elem.style.display="none";
}
}
于 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 に答える