vue/cli 4.2.3 で vue-cli-plugin-express を使用したローカル環境で動画管理システムを自作しています。動画プレーヤのコンポーネントを作成中なのですが、マウスのホイールで早送りしたり巻き戻しをしたりできるようにと思い、わからないなりに作ってみましたが思っている挙動になりません。
ホイールを1メモリ?回すと1秒スキップするようにしているのですが回せば回すほどスキップする秒数が1秒、2秒、3秒と1秒づつ果てしなく増えていってしまいます。どこをどう直せばスキップする秒数を1秒に固定できるでしょうか?
どうかよろしくお願いいたします。
。
vue
1<template> 2 <div> 3 <video id="video" height="720" v-moveTime="wheelState" @wheel="handleWheel()" controls > 4 <source src="http://localhost:3000/streamMovie" type="video/mp4"> 5 </video> 6 </div> 7</template> 8 9<script> 10export default { 11 name: 'MoviePlayer', 12 13 data(){ 14 return{ 15 wheelState:{moveTime:0}, 16 } 17 }, 18 directives: { 19 moveTime:function(el,binding){ 20 el.currentTime += binding.value.moveTime; 21 }, 22 }, 23 methods:{ 24 moveTime:function(){ 25 if (event.deltaY < 0) { 26 this.wheelState = {moveTime:1}; 27 } else if (event.deltaY > 0) { 28 this.wheelState = {moveTime:-1}; 29 } 30 }, 31 handleWheel:function(){ 32 window.addEventListener('wheel', this.moveTime.bind(event)) 33 } 34 } 35} 36</script> 37 38<!-- Add "scoped" attribute to limit CSS to this component only --> 39<style scoped> 40</style>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/01 04:03 編集