2013-10-26 52 views
0

我有三個縮略圖。當用戶將鼠標移到他們身上時,我不想將他們從部分不透明狀態變爲完全不透明狀態,並且當他們的鼠標不再覆蓋它們時再回來。 我有這個代碼,它工作正常,但似乎多餘的重新輸入每個圖像的所有代碼。我怎樣才能更有效地做到這一點?這似乎是$(this)的使用會起作用,但目前還沒有。我錯過了什麼?

function imgFade() 
{ 
$('#cluster').fadeTo(0,.3); 
$('#launch').fadeTo(0,.3); 
$('#gas').fadeTo(0,.3); 

} 
       $(document).ready(function() { 
        $("#cluster").mouseover(function() { 
          $("#cluster").fadeTo("slow", 1, function() { 
          }); 
        }); 
        $("#cluster").mouseout(function() { 
          $("#cluster").fadeTo("slow", .3, function() { 
          }); 
        }); 
       }); 
; 
+0

,如果你嘗試過,你可能已經想通了,是的,你可以使用$(本) –

回答

0

你的代碼可以完全重寫,並以這種方式縮短:

function imgFade() { 
    $('#cluster, #launch, #gas').fadeTo(0, .3); 
} 

$(document).ready(function() { 
    $("#cluster") 
     .mouseover(function() { 
      $(this).fadeTo("slow", 1); 
     }) 
     .mouseout(function() { 
      $(this).fadeTo("slow", .3); 
     }); 
}); 
+0

謝謝!想想這很容易 – falkon114

0

只需使用拾取所有三個要素選擇:

  $(document).ready(function() { 
       $("#cluster, #launch, #gas").fadeTo(0, .3).mouseover(function() { 
         $(this).fadeTo("slow", 1); 
       }).mouseout(function() { 
         $(this).fadeTo("slow", .3); 
       }); 
      }); 

...然後內處理程序this將引用當前元素。

請注意,您可以鏈接.mouseover().mouseout()函數,而不是通過單獨調用重新選擇要素到$("#cluster, #launch, #gas")

而不是通過它們的ID選擇他們,如果你給所有相似的元素共同類可能是整潔,然後通過選擇:$(".someClass").mouseover(...

還要注意有沒有提供一個空的回調函數來.mouseover()點 - 你如果在淡入淡出完成時不想執行任何操作,可以省略最後一個參數。

+0

謝謝!我覺得這是我錯過的一些簡單的事情。歡呼聲 – falkon114

0

這應該工作...

function imgFade() 
{ 
    $('#cluster, #launch, #gas').fadeTo(0,.3); 

} 
       $(document).ready(function() { 
        $("#cluster, #launch, #gas").mouseover(function() { 
          $(this).fadeTo("slow", 1, function() { 
          }); 
        }); 
        $("#cluster, #launch, #gas").mouseout(function() { 
          $(this).fadeTo("slow", .3, function() { 
          }); 
        }); 
       }); 
+0

如果選擇器總是相同,那麼只需緩存它即可:var elems = $('#cluster,#launch,#gas'); 也可以依賴函數鏈接第二個(匿名)函數。 –

+0

是的,我絕對沒有考慮過優化問題 - 請原諒我... – JxAxMxIxN

相關問題