3

jQuery 中是否有相当于 JS 的 play() 或 pause() 方法?我正在寻找 jquery 解决方案,但最好没有其他插件。

$('#play').click(function() { 
    function play() {  
      //  the same in jquery ?  
        document.getElementById('demo').play();
        document.getElementById('demo').volume = 1;       
    }
    function play_pause() { 
       //  the same in jquery ?
        document.getElementById('demo').pause();
        document.getElementById('demo').currentTime = 0;        
    }
    if ( $(this).val() === "play" ) {
       $(this).val("pause"); 
       play();
    } else {
       $(this).val("play");
      pause();
    } 
});

我需要最简单的解决方案,而不是花哨的插件。

4

1 回答 1

5

您可以像这样从 jQuery 获取原始 HTML 元素;

$("#demo")[0].play();

您可能还需要检查 demo 元素是否确实存在:

if($("#demo").length) $("#demo")[0].play();

因此,在您的示例中,您将拥有:

$('#play').click(function() { 
    if ( $(this).val() === "play" ) {
       $(this).val("pause");
       $("#demo")[0].play();
       $("#demo")[0].volume = 1;
    } else {
       $(this).val("play")[0].pause();
       $("#demo")[0].pause();
       $("#demo")[0].currentTime = 0; 
    } 
});
于 2013-10-30T08:06:47.777 回答