2016-07-24 45 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

您的案例應該是字符串,除非您將它們分配在某處作爲變量,例如「About」而非「About」。

+0

謝謝!我以前從來沒有使用過這樣的開關,也沒有考慮過這個例子使用數字而不是字符串,所以我需要添加quotes。 –

0

首先,實際的功能,而不是你認爲是功能的開關。

function myFunction(obj) { 

} 

然後添加開關函數內部:

switch (obj.id) { 

} 

接下來把情況下,交換機內部像你這樣做。順便說一下,不要把空間其間開括號和喜歡你的函數名必須爲每個

console.log (obj.id); 

希望工程。如果沒有,請說明原因。

+0

最初我把它作爲一個函數,這就是爲什麼我在原始文章中提到過我曾嘗試將它放入函數中。我已更新評論以包含該代碼。該警報有效,並且沒有錯誤,但交換機仍然不會。 –