2016-08-17 10 views
0

これはLoginとRegister divを切り替えるために使用するものです。 グローバルなvar document.getElementByIdを.classNameを取得する関数に呼び出す方法

は実際に働いている:

function myNavLogin() 
{ 
    divLogin.className = "Content-On"; 
    divRegister.className = "Content-Off"; 
} 

第二の例:この方法のような関数の内部で

var divLogin = document.getElementById("Content-Login"); 
var divRegister = document.getElementById("Content-Register"); 

function myNavLogin() 
{ 
    document.getElementById("Content-Login").className = "Content-On"; 
    document.getElementById("Content-Register").className = "Content-Off"; 
} 

は、私は次のグローバル変数を呼び出したいです変数が正しい方法で宣言されていないか、呼び出していると思いますそれは悪い...助けてください、ありがとう。

よろしく、Chicler;)

答えて

0

あなたの質問は、おそらく単純な変数のスコープ1であるが、ここでは、とにかくより徹底的な応答です。グローバル変数はコード化するための恐ろしい方法です。よりオブジェクト指向のアプローチを使用するようにしてください。また、マークアップは変更される可能性があるので、変数名からタグ名を保持することも考慮する必要があります。最後に、クラスを切り替えるときは、単に「オン」状態を追加および削除し、デフォルト状態を「オフ」状態にする方が良いでしょう。ここに例があります:

var AccountLogic = function(){ 
    this.elLogin = document.getElementById("Content-Login"); 
    this.elRegister = document.getElementById("Content-Register"); 
    this.login = function(){ 
    this.elLogin.classList.add("content-on"); 
    this.elRegister.classList.remove("content-on");} 
    } 
} 

var accountLogic = new AccountLogic(); 
+0

ありがとう、アイデアは素晴らしいですが、残念ながらそれは私のために働いていません: – Chicler

関連する問題