亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

調整范圍滑塊時如何防止html按鈕來回移動

調整范圍滑塊時如何防止html按鈕來回移動

慕桂英546537 2022-10-21 15:43:06
當我調整此范圍滑塊時,右側指示視頻播放速率的相應文本從一位數(即 1)變為多位數(即 0.95)。每次我這樣做時,它都會導致文本右側的按鈕來回移動。我想知道如何防止這種運動發生?我嘗試在文本和按鈕之間添加一些空格、填充、邊距等,但我似乎無法讓它停止。我絕對希望將所有對象保持在同一條線上。有沒有辦法讓默認位數保持不變?例如,當它設置為 1 時,是否可以改為 1.00,而當它設置為 0.8 時,是否可以改為 0.80?我不確定這是否可行,因為播放率屬性似乎需要特定位數。<!DOCTYPE html><html><head><style>div#videoPlayerBox{ width:550px; background:#000; margin:0px auto;}div#videoControlsBar{ background: #333; padding:10px; color:#CCC; font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;}#pbr{ width:40%;}div#PlaybackRateBox{ margin:left; width:28%; text-align:center; border: solid 3px #000; background:#FFF; padding:0px;}</style><script>var v,p,c;function myFunction(){document.getElementById("myForm").reset();} function setPlaySpeednormal(){ c.innerHTML = 1;v.playbackRate = 1;}function restartVideo(){v.pause();v.currentTime = 0;v.play();}window.onload = function() {   v = document.getElementById("myVideo");  p = document.getElementById("pbr");  c = document.getElementById("currentPbr");   p.addEventListener('input',function(){    c.innerHTML = p.value;    v.playbackRate = p.value;  },false);};</script></head><body><div id="videoPlayerBox">    <video id="myVideo" width="100%" poster="https://www.dropbox.com/s/8qbvpxvtedcs5lq/2016-07-30_Milonga%20Triste_Guillermo%20Garcia_Tango%20Atipico_San%20Francisco.jpg?raw=1" controls><source src="https://www.dropbox.com/s/5rjbtmantuow8vw/testvideo_hfd.mp4?raw=1"           type='video/mp4'/>Your browser does not support HTML video.    </video>    <div id="videoControlsBar">        <form id= "myForm">        <input id="pbr" type="range" value="1" min="0.5" max="1.2" step="0.05" class="slider">        <span>Speed <span id="currentPbr">1</span>        <input type="button" value="Reset" onclick="myFunction();setPlaySpeednormal();">        <input type="button" value="Restart" onclick="restartVideo();">     </form>  </div>      </div></body></html>
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

嘗試將此#currentPbr行添加到您的樣式塊中,如下所示(最后一行)。根據自己的喜好調整寬度


<style>

div#videoPlayerBox{ width:550px; background:#000; margin:0px auto;}

div#videoControlsBar{ background: #333; padding:10px; color:#CCC; font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;}

#pbr{ width:40%;}

div#PlaybackRateBox{ margin:left; width:28%; text-align:center; border: solid 3px #000; background:#FFF; padding:0px;}

#currentPbr {display: inline-block; min-width: 80px;}

</style>


查看完整回答
反對 回復 2022-10-21
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

這是一個可能對您有所幫助的功能: parseNum = (num) => (num == 1 || num === 0) ? num + '.00' : (String(num).length == 3 ? num + '0' : num)


所以,現在你可以在給 c.innerHTML 賦值之前調用這個函數。因此,代替c.innerHTML = p.value,您可以執行以下操作:


var v,p,c;


function myFunction(){document.getElementById("myForm").reset();} 

function setPlaySpeednormal(){ c.innerHTML = 1;v.playbackRate = 1;}

function restartVideo(){v.pause();v.currentTime = 0;v.play();}

const parseNum = (num) => (num == 1 || num === 0) ? num + '.00' : (String(num).length == 3 ? num + '0' : num)


window.onload = function() {

 

  v = document.getElementById("myVideo");

  p = document.getElementById("pbr");

  c = document.getElementById("currentPbr");

 

  p.addEventListener('input',function(){

    c.innerHTML = parseNum(p.value);

    v.playbackRate = p.value;

  },false);


};

這是該功能的屏幕截圖:

http://img1.sycdn.imooc.com//63524db7000163a408410231.jpg

PS請務必不要對每個數字都使用此功能。它僅適用于卷的域。



查看完整回答
反對 回復 2022-10-21
  • 2 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號