【问题标题】:Can't pause video on closing popup关闭弹出窗口时无法暂停视频
【发布时间】:2015-02-09 13:57:12
【问题描述】:

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

//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);

【问题讨论】:

    标签: javascript html


    【解决方案1】:

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

    上滑后调用

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 2012-08-12
      • 2017-06-04
      相关资源
      最近更新 更多