2012-03-25 212 views
6

我想用jquery播放/暫停視頻。使用jquery播放/暫停HTML5視頻

這裏是我的代碼:

(function ($) { 
    // plugin definition 
    $.fn.htmlvideo = function (options) { 
     // build main options before element iteration 
     var defaults = { 
      theme: 'normal', 
     }; 
     var options = $.extend(defaults, options); 
     // iterate and reformat each matched element 
     return this.each(function() { 
      var $htmlvideo = $(this); 

      addvideo(); 
      addcontrols(); 


      function addvideo() { 
       var addvideo = $('<video width="1000"><source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.ogv" type="video/ogg; codecs="theora, vorbis""><source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></video>'); 
       $(addvideo).appendTo('#video'); 
      } 

      function addcontrols() { 
       var controls = $('<div id="controls" class="controls"><button id="playbtn" class="playbtn"></button></div>'); 
       $(controls).appendTo('#controlspane'); 
      } 

      $('.playbtn').click(function() { 
       //Here I need to make the video play 
      }); 


     }); 
    }; 
})(jQuery); 

回答

3

添加安ID信息到視頻控制

function addvideo() { 
      var addvideo = $('<video controls="controls" width="480" height="208" id="videoo"><source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.ogv" type="video/ogg; codecs="theora, vorbis""><source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2""></video>'); 
      $(addvideo).appendTo('body'); 


     } 

使用委託作爲要添加的按鈕是動態的

$(document).delegate('.playbtn',"click",function() {  
     $('#videoo')[0].play();   
}); 

$("#videoo")[0]將返回你的DOM元素不是jQuery對象,因爲play方法不是jquery方法d其DOM方法

DEMO

+0

@ 3nigma,再次感謝我的排序問題。 – coder 2012-03-25 21:38:53

+0

很高興幫助,從上一個問題我注意到,你使用的錨點和視頻控制中的多個ID,這是錯誤的ids​​應該是唯一的... – Rafay 2012-03-25 21:40:00

+0

當然,我不會再那樣做。感謝指出。 – coder 2012-03-25 21:41:05