2017-01-31 31 views
4

我正在修補HTML5視頻。我有一個視頻使用HTML5香草標籤<video>,像這樣的工作:HTML5視頻自定義附加搜索欄

<video id="video" width="250" height="250" controls> 
    <source src="video_src.mp4" type="video/mp4"> 
</video> 

一切都很好。我正在尋找的是在視頻底部添加一個搜索欄的方法。 seekbar將是我擁有的代表視頻的圖像。通過點擊圖像上的任何位置,視頻將移至該點。

此外,除默認視頻功能附帶的默認進度欄外,此功能還可以使用。默認和自定義搜索欄必須保持同步,這樣當更新一個時,另一個也會移動。

任何人都可以指出我正確的方向嗎?

謝謝!

+0

我掙扎親自構思,但我能想象你必須映射你的搜索欄的寬度之間的視頻的總時間的劃分,並點擊在某個位置可以計算當前時間和時間在搜索欄上分配給該扇區的時間差異,然後將其添加到視頻中。 – Crowes

+0

你是對的@Crowes。我已在下面實施。 –

回答

13

var vid = document.getElementById("video"); 
 
vid.ontimeupdate = function(){ 
 
    var percentage = (vid.currentTime/vid.duration) * 100; 
 
    $("#custom-seekbar span").css("width", percentage+"%"); 
 
}; 
 

 
$("#custom-seekbar").on("click", function(e){ 
 
    var offset = $(this).offset(); 
 
    var left = (e.pageX - offset.left); 
 
    var totalWidth = $("#custom-seekbar").width(); 
 
    var percentage = (left/totalWidth); 
 
    var vidTime = vid.duration * percentage; 
 
    vid.currentTime = vidTime; 
 
});//click()
#custom-seekbar 
 
{ 
 
    cursor: pointer; 
 
    height: 10px; 
 
    margin-bottom: 10px; 
 
    outline: thin solid orange; 
 
    overflow: hidden; 
 
    position: relative; 
 
    width: 400px; 
 
} 
 
#custom-seekbar span 
 
{ 
 
    background-color: orange; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    height: 10px; 
 
    width: 0px; 
 
} 
 

 
/* following rule is for hiding Stack Overflow's console */ 
 
.as-console-wrapper{ display: none !important;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div id="custom-seekbar"> 
 
    <span></span> 
 
</div> 
 
<video id="video" width="400" controls autoplay> 
 
    <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"> 
 
</video>

+0

這太棒了。你將如何去點擊頂部自定義搜索欄,然後改變視頻的位置?現在,你只能真正的尋找默認欄。 – intl

+1

@intl我已經更新了我的答案以包含該內容。請注意,這是一個基本的實現,你可能需要做一些微調。 –

+0

完美。非常感謝,這非常有幫助。 – intl