Ich habe ein Problem mit dem Marker. Ich möchte, dass der Marker dehnbar ist, um irgendwo auf dem Fortschrittsbalken zu markieren
Wie unten gezeigt, GIF
Frage: Ich möchte einen beliebigen Punkt auf dem Fortschrittsbalken auswählen und den Marker dehnen können. Dies können mehrere Markerpunkte sein.
Ich weiß nicht, wie ich es mit dem folgenden Code machen soll:
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
quelle
quelle
Antworten:
Eine Möglichkeit, dies zu tun, ist das Einhängen in
mousedown
undmousemove
Einhängen Ereignisse in der Suchleiste. Fügen Sie den Marker beim Mousedown mit einer benutzerdefinierten Klasse hinzu. Berechnen Sie dann bei Mausbewegung die Bewegung und fügen Sie die Breite zum Markierungselement mithilfe der benutzerdefinierten Klasse hinzu.Siehe dieses Beispiel:
quelle
Wo Sie den Zeiger haben möchten, geben Sie einfach die Zeit in die ein
time: 20.5
und erhöhen Sie die Breite dermarkerStyle: { 'width': '190px' }
, damit Sie eine lange Zeile in der Video-Fortschrittsleiste erhalten!Auf geht's
Sie können hier mehr über alles, was mit Dokumenten zu tun hat, lernen .
Wenn Sie ein Problem haben, informieren Sie uns bitte!
Viel Spaß beim Codin!
quelle