3

表示されているオブジェクトを非表示にし、非表示のオブジェクトを表示することになっているjavascript関数があります。基本的なJavaScriptの知識が不足しているので、ここに来て助けを求めました:/誰かが私のコードを手伝ってくれて、少し学ぶことができますか?

function DisplayMenu(obj) {
            if (obj.style.visibility == 'visible') {
                obj = document.getElementById(obj);
                obj.style.visibility = 'hidden';
            }
            else if (obj.style.visibility == 'hidden') {
                obj = document.getElementById(obj);
                obj.style.visibility = 'visible';
            }
        }
4

2 に答える 2

7

objの前にあるものを定義する必要があります。if

function DisplayMenu(obj) {
    var obj = document.getElementById(obj);
            if (obj.style.visibility == 'visible') {
                obj.style.visibility = 'hidden';
            }
            else {
                obj.style.visibility = 'visible';
            }
        }

編集:あなたはそれを単純化することができます、あなたはelse ifただ使う必要はありませんelse

于 2012-05-24T09:14:17.470 に答える
1

obj_idそして、割り当て前に存在をチェックするさらに短いバージョンなので、存在obj_idしない場合はDOM例外をトリガーしません:

function DisplayMenu(obj_id) {
  var obj = document.getElementById(obj_id);
  obj && obj.style.visibility = (obj.style.visibility == 'visible') ? 'hidden' : 'visible';
}
于 2012-05-24T09:22:50.563 に答える