У меня проблема с маркером, я хочу, чтобы маркер можно было растягивать, чтобы пометить в любом месте на индикаторе выполнения
Как показано ниже GIF
Вопрос: Я хочу выбрать любую точку на индикаторе выполнения и иметь возможность растягивать маркер, который может быть несколькими маркерными точками.
Я не знаю, как это сделать с помощью кода ниже:
var player = videojs('demo');
player.markers({
markerStyle: {
'width':'9px',
'border-radius': '40%',
'background-color': 'orange'
},
markerTip:{
display: true,
text: function(marker) {
return "I am a marker tip: "+ marker.text;
}
},
breakOverlay:{
display: true,
displayTime: 4,
style:{
'width':'100%',
'height': '30%',
'background-color': 'rgba(10,10,10,0.6)',
'color': 'white',
'font-size': '16px'
},
text: function(marker) {
return "This is a break overlay: " + marker.overlayText;
},
},
markers: [
{time: 9.5, text: "this", overlayText: "1", class: "special-blue"},
{time: 16, text: "is", overlayText: "2"},
{time: 23.6,text: "so", overlayText: "3"},
{time: 28, text: "cool", overlayText: "4"}
]
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://vjs.zencdn.net/4.2/video.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-markers/0.7.0/videojs-markers.js"></script>
<link href="http://vjs.zencdn.net/4.2/video-js.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/videojs-markers/0.7.0/videojs.markers.min.css" rel="stylesheet"/>
<video id="demo" width="400" height="210" controls class="video-js vjs-default-skin">
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
<source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm">
</video>
javascript
jquery
html
video.js
EaBengaluru
источник
источник
Ответы:
Один из способов сделать это является крюк в
mousedown
иmousemove
события на SeekBar. Добавьте маркер на mousedown с пользовательским классом. Затем при перемещении мыши рассчитайте движение и добавьте ширину к элементу маркера, используя пользовательский класс.Смотрите этот пример:
источник
где вы хотите указатель, просто введите время
time: 20.5
и увеличьте ширинуmarkerStyle: { 'width': '190px' }
, так что вы получите длинную строку в видео прогрессбар!вот так
Вы можете узнать здесь больше обо всех документах .
если у вас есть какие-либо проблемы, пожалуйста, сообщите нам!
Счастливого Codin '!
источник