2016-07-24 7 views
0

OnmouseOver of images #About、#Contact、または#Blog switch文を使用して、どのリンクがマウスオーバーされているかによって属性を変更したいと思います。しかし、私はスイッチを関数に置くか、スイッチに名前をつけようとするとうまくいかない。ここで私が持っているもので、次のようにスイッチでonMouseOverをどのように使用しますか?

<g id="About" onmouseover="myFunction(this)"></g> 
<g id="Contact" onmouseover="myFunction(this)"></g> 
    <g id="Blog" onmouseover="myFunction(this)"></g> 

<script type="text/javascript"> 


      switch myFunction (obj.id) { 
    case About: 
        console.log (obj.id); 
     break; 
    case Contact: 
        console.log (obj.id); 
     break; 
    case Photos: 

        console.log (obj.id); 
     break; 
    case Videos: 

        console.log (obj.id); 
     break; 
    case Home: 

      console.log (obj.id); 
     break; 
    case Online: 

        console.log (obj.id); 
     break; 
    case Blog: 

        console.log (obj.id); 
} 

マイInitalテストは次のとおりです。すべての

 function myFunction (obj) { 

alert (obj.id); 

      switch (obj.id) { 
    case About: 
        console.log (obj.id); 
     break; 
    case Contact: 
        console.log (obj.id); 
     break; 
    case Photos: 

        console.log (obj.id); 
     break; 
    case Videos: 

        console.log (obj.id); 
     break; 
    case Home: 

      console.log (obj.id); 
     break; 
    case Online: 

        console.log (obj.id); 
     break; 
    case Blog: 

        console.log (obj.id); 
} 



} 

答えて

1

ケースは文字列でなければなりません。たとえば、「バージョン情報」ではなく「バージョン情報」などの変数として割り当てられている場合を除きます。

+0

ありがとう!私は前にこのようなスイッチを使用したことはなく、文字列の代わりに数字を使用しているという事実を考慮しなかったので、引用符を追加する必要がありました。 –

0

まず、実際の関数ではなく、あなたが機能だと思ったスイッチを作ります。

function myFunction(obj) { 

} 

次に、関数の内部でスイッチを追加します。あなたが行っているよう

switch (obj.id) { 

} 

次は、スイッチ内部の例を置きます。ところで、開いた括弧と関数名の間にスペースを入れないでください。

console.log (obj.id); 

希望しています。それができない場合は、理由をコメントしてください。

+0

私は最初に関数として持っていたので、元の記事で関数に入れようとしたのです。私はそのコードを含めるようにコメントを更新しました。アラートは機能し、エラーはありませんが、スイッチはまだ有効ではありません。 –

関連する問題