javascript - 如何在视频开始/停止时调整视频大小?

标签 javascript jquery html video

我认为我有正确的代码可以使视频在开始播放时变大,在暂停时变小。

$(document).ready(function(){
    if ($("section video").get(0).pause || $("section video").get(0).ended) {
        $("section video").click(function() {
            $("section video").animate({ width: "100%" }, 'slow')
            $("section video").queue(function(){
                $("section video").get(0).play();
            });
        });
        $("section video").animate({ width: "50%" }, 'slow')
    }
    else if ($("section video").get(0).play) {
        $("section video").click(function(){
            $("section video").animate({ width: "50%" }, 'slow')
            $("section video").queue(function(){
                $("section video").get(0).pause();
            });
        });
    }
});

但是,当我单击它并启动时它就会起作用。但是当我在“播放”条件下再次单击它时,什么也没有发生。有人可以帮助我吗?

最佳答案

有一个拼写错误,它已暂停,据我所知,没有用于获取播放状态的视频属性。

尝试使用以下代码:

jQuery(document).ready(function($) {
    var video = $('section video').get(0);

    video.onended = function(e) {
      $('section video').animate({ width: "50%" }, 'slow');
    }

    $('section video').click(function() {
        if(this.paused || this.ended){
           $('section video').animate({ width: "100%" }, 'slow');
           video.play();
        } else{
          $('section video').animate({ width: "50%" });
          video.pause();
        }
    });
});

更新

当然,您可以在动画完成后再次播放视频:

 jQuery(document).ready(function($) {
    var video = $('section video').get(0);

    video.onended = function(e) {
      $('section video').animate({ width: "50%" }, 'slow');
    }

    $('video').click(function() {
        if(this.paused || this.ended){
          $('section video').animate({
            width: "100%"
          },
          {
           duration: 'slow',
           complete: function(){
              video.play();
          }
          });
        } else{
          video.pause();
          $('section video').animate({ width: "50%" });
        }
    });
});

关于javascript - 如何在视频开始/停止时调整视频大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38350022/

相关文章:

具有单个输入字段的表单的 jQuery 提交处理程序不会在 IE 上触发

html - 调整大小时更改跨度位置 : Twitter Bootstrap

html - 在 td 元素内对齐类

javascript - 从 json 响应中获取值

javascript - 使用 bodymovin JSON 更改 SVG 上的 View 框值

javascript - 发生ng点击功能时如何更改跨度的文本颜色和背景颜色

jquery - 用户键入时出现文本区域问题,但文本没有改变

javascript - 格式化字符串小数和千位分隔符javascript

html - 向下移动卡片及其内容

javascript - 从 javascript 修改外部样式表