JS 는 비디오 재생 속 도 를 간단하게 제어 하 는 인 스 턴 스 코드 를 실현 합 니 다.

머리말
예전 에 한 가지 문 제 를 발 견 했 습 니 다.가끔 은 학습 영상 을 보면 동작 이 너무 느리다 고 생각 합 니 다.선생님 의 칠판 에 판 서 를 쓰 는 것 은 시간 을 낭비 합 니 다.적당 한 속도 로 재생 하면 학습 효율 도 향상 시 키 고 자신 도 편안하게 볼 수 있 습 니 다.그래서 저 는 아래 웹 페이지 를 써 서 Html+CSS+JavaScript 를 통 해 이 루어 지 는 것 을 배 웠 습 니 다.
제시:다음은 본 글 의 본문 내용 이 고 다음 사례 는 참고 할 수 있 습 니 다.
완제품 효과
这是我做的成品截图
구체 적 실현
1.HTML+CSS 간단 한 레이아웃 구현
코드 는 다음 과 같 습 니 다(예시).

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css" rel="external nofollow" >
    <title>    </title>
    
</head>
<body>
    <div id="wrapper">
        <video width="765" height="430" src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" controls class="flex"></video>
        
        <div class="speed">
            <div class="speed-bar">1x</div>
        </div>
        
    </div>
    

    <script src="./index.js"></script>
</body>
</html>

*{
    margin: 0;
    padding: 0;
}
body{
    min-height: 100vh;/*   vh    ,           */
    background: #4c4c4c url('https://unsplash.it/1500/900?image=1021');
    background-size: cover;/*      ,      ,      、  */
    /*margin: auto;/* margin:auto margin:0 auto             ,   */
    display: flex;/*          */
    justify-content: center;    /* X    */
    align-items: center;        /* Y    */         /*    :               */
}
#wrapper{
    width: 850px;
    display: flex;
}
.speed{
    flex: 1;/*    ,     1:1  ,  vedio     ,  speed     */
    margin: 10px;
    background-color: #fff;
    border-radius: 50px;
    display: flex;
    overflow: hidden;/*  :         ,         */
    align-items: flex-start;/* */

}
.speed-bar{
    width: 100%;
    height: 16.3%;
    background:linear-gradient(-170deg,#2376ae 0%,#c16ecf 100%);    /*       */
    display: flex;              /*               */
    justify-content: center;
    align-items: center;
    color: #fff;
    cursor: pointer;
}
HTML 의 레이아웃 은 사실 중간 에 있 습 니 다.포장 에 사용 할 id 선택 기 를 설정 한 다음 에 video 라벨 을 통 해 H5 자체 비디오 재생 기능 을 사용 하여 src 를 변경 하여 재생 하 는 동 영상 을 변경 할 수 있 습 니 다.
css 에 서 는 탄성 상자 사용 에 주의 하 시고 탄성 용 기 를 통 해 영상의 수평 수직 거 중 을 설정 하 였 습 니 다.
2.JS 구현 기능
코드 는 다음 과 같 습 니 다(예시).

//1.      dom  
//2.      dom      
//3.   dom   
//4.         

//     dom  
var speed=document.querySelector('.speed')//  :getElementsByClassName       class   
var bar=document.querySelector('.speed-bar')
var video=document.querySelector('.flex')

speed.addEventListener('mousemove',function(e){     //                (click、mouseover  ),          。       ,        。
    //console.log(e);
    var y=e.pageY-speed.offsetTop           //                   offsetTop     dom           
    var percent = y / speed.offsetHeight    //offsetHeight     dom       
    var min = 0.4           //      
    var max = 4
    var playbackRate = percent * (max-min)+min      //    
    var height = Math.round(percent * 100)+'%'//Math.abs()         
    bar.textContent = playbackRate.toFixed(2)+'×'           //  dom           toFixed(x)    x   

    video.playbackRate = playbackRate       //  video     

    bar.style.height = height       //           

})
// :           :                       ,      
중요 한 것 은 s 에서 제어 기능 을 실현 하 는 것 입 니 다.Js 판 을 작성 할 때 저 희 는 Js 가 무엇 을 도와 야 하 는 지 명 확 히 해 야 합 니 다.
1.조작 할 dom 구 조 를 가 져 오기
2.마우스 가 이 dom 에서 미 끄 러 지 는 거 리 를 가 져 옵 니 다.
3.이 dom 의 높이 변경
4.동 영상 재생 속도 변경
목표 가 있 으 면 우 리 는 하나씩 그것 을 실현 할 것 이다.
구체 적 으로 실현 하면 원 코드 를 직접 볼 수 있 는데 여기 서 리 셋 함수 와 마우스 제어 배속 원 리 를 중점적으로 제시 합 니 다.볼 수 있다
speed.addEventListener( " mousemove " ,function(e){)
이것 은 반전 함수 입 니 다.mousemove 가 발생 할 때 함수 function(e)tmousemove 를 실행 하 는 것 은 마우스 위 치 를 감청 하 는 역할 을 합 니 다.
JS 를 통 해 영상 재생 속 도 를 간단하게 제어 할 수 있 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 js 영상 재생 속도 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기