关闭弹出窗口时无法暂停视频

时间:2015-02-09 05:33:09

标签: javascript html5

问题在于,当我关闭弹出窗口而不暂停视频时,音频会继续播放。关闭弹出窗口时,我无法暂停视频。完整的代码如下。

//html code

<style>
.yourModalClass {
 padding: 0 1.5em 1em;
 border-radius: 5px;
 max-width: 380px;
 color:#fff;
}
.yourModalClass a {
color:#fff;
}
</style>

<a href="#yourModalId">abc</a>
<div id="yourModalId" class="yourModalClass" style="display:none; margin-left: -20%; margin-right: 20%">
  <h2>abc</h2>
  <video width="600" height="400" controls="">
    <source src="abc.mp4" type="video/mp4"/>
    Your browser does not support HTML5 video.
  </video>
</div>

<script>
$('#yourModalId').modality({
    effect: 'slide-up'
}); 
 </script> 

//javascript
/* @author: Himanshu Kandpal (cse10324.sbit@gmail.com)*/
;(function(e,t,n,r){var i="modality",s=e("body")[0],o=          {autoBind:true,clickOffToClose:true,closeOnEscape:true,effect:"",innerClass:"mm-wrap",modalClass:"modality-modal",onClose:"",onOpen:"",openClass:"mm-show",openOnLoad:false,userClass:""},u=function(t,n){var r=this;r.defaults=o;r.id=e(t).attr("id");r.settings=e.extend({},o,n);r.$modal=e(t).wrap('<div class="'+r.settings.modalClass+" "+r.settings.effect+" "+r.settings.userClass+'">'+'<div class="'+r.settings.innerClass+'">'+"</div>"+"</div>").show();r.$wrapper=r.$modal.parents("."+r.settings.modalClass);r.$triggers=e('a[href="#'+r.id+'"], [data-modality="#'+r.id+'"]');if(r.settings.autoBind){r.$triggers.each(function(){r.setTrigger(e(this))})}if(r.settings.clickOffToClose){r.$wrapper.click(function(e){e.preventDefault();if(e.target==r.$wrapper[0])r.close()})}if(r.settings.closeOnEscape){e(s).keyup(function(e){if(e.keyCode==27)r.close()})}if(navigator.appVersion.indexOf("MSIE 7.")!=-1){r.$wrapper.prepend('<div class="mm-ghost"></div>')}if(r.settings.openOnLoad)r.open();return r};e.extend(u.prototype,{open:function(e){this.$wrapper.add(s).addClass(this.settings.openClass);if(typeof this.settings.onOpen=="function")this.settings.onOpen();if(typeof e=="function")e();return this},close:function(e){this.$wrapper.add(s).removeClass(this.settings.openClass);if(typeof this.settings.onClose=="function")this.settings.onClose();if(typeof e=="function")e();return this},toggle:function(e){return this.isOpen()?this.close(e):this.open(e)},isOpen:function(){return this.$wrapper.hasClass(this.settings.openClass)},setTrigger:function(e){var t=this;e.click(function(e){e.preventDefault();t.toggle()});return t}});e.extend(u,{instances:{},init:function(e,t){var n={},i=this,s=0;e.each(function(){var e=new i(this,t);i.instances[e.id]=n[s]=e});return n[1]===r?n[0]:n}});e[i]=u;e.fn[i]=function(t){return e[i].init(this,t)}})(jQuery,window,document);

1 个答案:

答案 0 :(得分:0)

将id添加到视频控制器元素

滑动后

调用

$('#videoID')[0].pause();

$("#videoID")[0]将返回DOM元素而不是jQuery对象,因为pause方法不是jquery方法,而是DOM方法