feat(expertise): vidéo démarre au premier scroll, pas à l'entrée du slide
- segmentEnds : i/(itemCount-1) au lieu de (i+1)/itemCount → item 0 = position 0 (vidéo à l'arrêt), item final = fin de vidéo - initPlayback : supprime fwdTarget et play() immédiats, positionne juste à 0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
dee786e9e2
commit
dd69e54746
1 changed files with 3 additions and 4 deletions
|
|
@ -39,7 +39,8 @@
|
||||||
|
|
||||||
const segmentEnds = $derived(
|
const segmentEnds = $derived(
|
||||||
itemCount > 0 && videoDuration > 0
|
itemCount > 0 && videoDuration > 0
|
||||||
? Array.from({ length: itemCount }, (_, i) => videoDuration * (i + 1) / itemCount)
|
? Array.from({ length: itemCount }, (_, i) =>
|
||||||
|
itemCount === 1 ? videoDuration : videoDuration * i / (itemCount - 1))
|
||||||
: []
|
: []
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -143,9 +144,7 @@
|
||||||
videoFwd.currentTime = 0
|
videoFwd.currentTime = 0
|
||||||
currentFwdTime = 0
|
currentFwdTime = 0
|
||||||
isReverse = false
|
isReverse = false
|
||||||
fwdTarget = dur / itemCount
|
if (videoRev) videoRev.currentTime = dur
|
||||||
videoFwd.play().catch(() => {})
|
|
||||||
if (videoRev) videoRev.currentTime = Math.max(0, dur - dur / itemCount)
|
|
||||||
requestAnimationFrame(() => computeOffset())
|
requestAnimationFrame(() => computeOffset())
|
||||||
}
|
}
|
||||||
if (videoFwd?.duration) {
|
if (videoFwd?.duration) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue