2016-07-24 2 views
0

이미지의 OnmouseOver #About, #Contact 또는 #Blog switch 문을 사용하여 어떤 링크가 mousedover인지에 따라 속성을 변경하고 싶습니다. 그러나 스위치를 함수에 배치하거나 스위치의 이름을 지정하려고하면 작동하지 않습니다. 여기에 내가 무엇을 가지고 다음과 같이스위치로 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) { 

} 

는 다음 스위치 내부의 사례를했습니다. 그건 그렇고, 열린 괄호 inbetween 띄어쓰기를하지 않고 당신 같은 함수 이름은 작동 희망은 각

console.log (obj.id); 

에 대한했다. 그것이 아니라면 이유를 설명하십시오.

+0

처음에는 함수로 사용했기 때문에 원래 게시물에서 함수에 넣으려고 시도한 적이 있습니다. 해당 코드를 포함하도록 주석을 업데이트했습니다. 경고는 작동하지만 오류는 없지만 스위치는 여전히 작동하지 않습니다. –

관련 문제