2010-06-10 175 views
3

通過JavaScript在鼠標懸停播放音頻文件的最佳解決方案是什麼?當鼠標離開鏈接時停止它。 jQuery可用。懸停播放音頻文件(並停止播放鼠標)

<a href="/test.mp3" class="play">play</a> 
+3

作爲人類的一員,我請求你至少把它變成一個'click'事件。 – 2010-06-10 11:44:50

+0

作爲清晰(HT)標記語言的粉絲,我希望將此鏈接保留爲音頻文件。添加一點JS的幻想...... – powtac 2010-06-10 11:54:02

+0

我認爲你錯過了我的觀點,作爲大多數用戶,當簡單地在頁面上移動鼠標時,用戶不希望有一個良好的啓動,它*應該是一個點擊,而不是一個懸停。爲什麼你認爲高容量的基於Flash的廣告正在消失,並且廣告/閃光攔截器的使用率正在飛漲?許多相同的推理適用於這裏...只是你應該考慮的事情。 – 2010-06-10 12:12:55

回答

1
+0

SoundManager有點沉重。沒有其他建議? – powtac 2010-06-10 12:36:41

+0

我已經看到這個遊戲在不同的遊戲開發事件+1中很好用,它的工作原理 - 我不知道其他的選擇。如果有一些簡約的解決方案,我也很感興趣。 – hhh 2014-10-23 01:08:00

1
<script type="text/javascript"> 
    (function($) { 
     $(function(){ 
       $("a.play").each(function() { 
        $(this).mouseover(function(){ 
         var mp3file = $(this).attr('href'); 
         // asign this mp3file to the player and play it 
        }).mouseout(function() { 
         // tell the mp3 player to stop 
        }); 
       }); 
     }); 
    })(jQuery); 
</script> 

您可以使用unomi建議玩家。偉大的作品

+2

2這裏有一個'.hover()'函數,你應該檢查一下,綁定時從不需要'.each()',只需調用'$(「a.play」)。click()'例如,它會綁定該選擇器的每個匹配:) – 2010-06-10 12:10:36

+0

感謝尼克,我忘了懸停! – powtac 2010-06-10 12:37:47

+0

@NickCraver是否可以將您的替代解決方案作爲答案?我不喜歡你的評論後回答者沒有改進他的答案。它會使這個寫作更高質量。 – hhh 2014-10-23 01:13:20

3
<audio id="mysound" src="mysound.wav"></audio> 
<button onmouseover="document.getElementById('mysound').play()" onmouseout="document.getElementById('mysound').pause()">Hover me!</button>