File tree Expand file tree Collapse file tree 2 files changed +51
-0
lines changed
28 - Video Speed Controller Expand file tree Collapse file tree 2 files changed +51
-0
lines changed Original file line number Diff line number Diff line change 3535 </ div >
3636
3737< script >
38+
39+ const slider = document . querySelector ( '.items' )
40+
41+ let isDown = false ;
42+ let startX ;
43+ let scrollLeft ;
44+
45+ slider . addEventListener ( 'mousedown' , ( e ) => {
46+ isDown = true ;
47+ startX = e . pageX ;
48+ } )
49+
50+ slider . addEventListener ( 'mouseup' , ( ) => {
51+ isDown = false ;
52+ scrollLeft = slider . scrollLeft
53+ } )
54+
55+ slider . addEventListener ( 'mouseleave' , ( ) => {
56+ isDown = false ;
57+ scrollLeft = slider . scrollLeft
58+ } )
59+
60+ slider . addEventListener ( 'mousemove' , ( e ) => {
61+ if ( ! isDown ) return
62+ const distance = startX - e . pageX ;
63+
64+
65+ slider . scrollLeft = ( distance * 3 ) + scrollLeft
66+ } )
67+
68+
3869</ script >
3970
4071 </ body >
Original file line number Diff line number Diff line change 1515 </ div >
1616
1717< script >
18+
19+ const speed = document . querySelector ( '.speed' ) ;
20+ const speedBar = document . querySelector ( '.speed-bar' ) ;
21+ const video = document . querySelector ( '.flex' ) ;
22+
23+
24+
25+ speed . addEventListener ( 'mousemove' , function ( e ) {
26+ const y = e . pageY - this . offsetTop ;
27+ const [ min , max ] = [ 0.4 , 4 ]
28+ const percent = y / this . offsetHeight ;
29+ const height = Math . round ( ( y / this . offsetHeight ) * 100 ) + '%' ;
30+ const playBackRate = percent * ( max - min ) + min ;
31+ speedBar . style . height = height ;
32+ speedBar . textContent = playBackRate . toFixed ( 2 )
33+ video . playbackRate = playBackRate ;
34+ } ) ;
35+
36+
37+
1838</ script >
1939</ body >
2040</ html >
You can’t perform that action at this time.
0 commit comments