Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 困惑于如何使用播放/暂停文本符号来控制旋转木马中的每个视频?_Javascript_Html_Css_Carousel - Fatal编程技术网

Javascript 困惑于如何使用播放/暂停文本符号来控制旋转木马中的每个视频?

Javascript 困惑于如何使用播放/暂停文本符号来控制旋转木马中的每个视频?,javascript,html,css,carousel,Javascript,Html,Css,Carousel,我需要一些逻辑方面的帮助,我是web开发新手。我有一个普通的JS和CSS视频滑块。我想在视频中添加自定义控件,如播放、暂停和静音。我目前已经在转盘容器中链接了文本播放、音频和暂停符号的两个跨元素。我想知道是否有一种方法可以让滑块知道用户当前正在观看的视频,并通过顶部的这些固定按钮相应地控制视频。我有一个函数来计算如果我按下左箭头或右箭头,我应该为哪张幻灯片设置动画 JS CSS HTML 蓝色→ 研究电影(2015) ▶ ♩ ← → const track = docume

我需要一些逻辑方面的帮助,我是web开发新手。我有一个普通的JS和CSS视频滑块。我想在视频中添加自定义控件,如播放、暂停和静音。我目前已经在转盘容器中链接了文本播放、音频和暂停符号的两个跨元素。我想知道是否有一种方法可以让滑块知道用户当前正在观看的视频,并通过顶部的这些固定按钮相应地控制视频。我有一个函数来计算如果我按下左箭头或右箭头,我应该为哪张幻灯片设置动画

JS

CSS

HTML


蓝色→ 研究电影(2015)

▶ ♩ ←
const track = document.querySelector('.carousel__track'); //ul tag
const slides = Array.from(track.children); //li tags
const nextBtn = document.querySelector('.carousel__button--right')
const prevBtn = document.querySelector('.carousel__button--left');
const slideWidth = slides[0].getBoundingClientRect().width;
const videoText = document.querySelector(".carousel__slide-text");


const setSlidePosition = (slide, index) => {
   slide.style.left = slideWidth * index + "px";
}
slides.forEach(setSlidePosition);

const moveToSlide = (track, currentSlide, targetSlide) => {
   track.style.transform = "translateX(-" + targetSlide.style.left + ")";
   currentSlide.classList.remove('current-slide');
   targetSlide.classList.add('current-slide');
   if (targetSlide === slides[1]) {
      videoText.innerHTML = "LV Project → Hologram Presentation (2016) ";
   } else if (targetSlide === slides[2]) {
      videoText.innerHTML = "We Create Paths By Walking (2016)";
   } else if (targetSlide === slides[0]) {
      videoText.innerHTML = "BLUE → Research Film (2015)";
   }
}

prevBtn.addEventListener('click', e => {
   const currentSlide = track.querySelector('.current-slide');
   const prevSlide = currentSlide.previousElementSibling;
   moveToSlide(track, currentSlide, prevSlide);
})

nextBtn.addEventListener('click', e => {
   // how much to move one slide?
   const currentSlide = track.querySelector('.current-slide');
   const nextSlide = currentSlide.nextElementSibling;
   moveToSlide(track, currentSlide, nextSlide);
})

const audio = document.querySelector('.carousel__slide-text .audio');
const play = document.querySelector('.carousel__slide-text .play');
const carouselVideos = document.querySelectorAll('.carousel__video');
.carousel {
   position: relative;
   height: 70vh;
   width: 70%;
   margin: 0 auto;
   text-align: left;
}

.carousel__slide-text {
   width: 100%;
   padding-top: 2rem;
   font-family: Helvetica, sans-serif;
   font-size: 1rem;
   text-transform: uppercase;
   font-weight: bold;
   letter-spacing: 0.1rem;
   transition: opacity 1s;

}


.carousel span {
   cursor: pointer;
   position: absolute;
}

.play {
   top:5vh;
   right: 0;
}

.audio {
   right: 2rem;
   top:5vh;
}

.carousel__video {
   width: 100%;
   height: auto;
   object-fit: cover;
}

.carousel__track-container {

   margin-top: 2rem;
   height: 100%;
   position: relative;
   overflow: hidden;
}

.carousel__track {
   padding: 0;
   margin: 0;
   height: 100%;
   list-style: none;
   transition: transform 250ms ease-in;
}

.carousel__slide {
   position: absolute;
   top: 0;
   bottom: 0;
   width: 100%;
}

.carousel__button {
   position: absolute;
   top: 60%;
   background: transparent;
   border: 0;
   font-size: 2rem;
}

.carousel__button--left {
   left: -6vw;
}

.carousel__button--right {
   left: 75vw;
}
           <div class="carousel">
              <p class="carousel__slide-text">BLUE → Research Film (2015)</p>
              <span class="play">▶</span> 
              <span class="audio">♩</span>
              <button class="carousel__button carousel__button--left">←</button>
              <div class="carousel__track-container">
                 <ul class="carousel__track">
                    <li class="carousel__slide current-slide">

                       <video class="carousel__video" src="/Home/projects/B L U E - Research Film (2015).mp4" loop
                          video preload="metadata"></video>
                    </li>
                    <li class="carousel__slide">

                       <video class="carousel__video"
                          src="/Home/projects/LV Project_ Hologram Presentation (2016).mp4" loop video
                          preload="metadata"></video>
                    </li>
                    <li class="carousel__slide">

                       <video class="carousel__video" src="/Home/projects/We create Paths by Walking (2016).mp4"
                          loop video preload="metadata"></video>
                    </li>
                 </ul>
              </div>
              <button class="carousel__button carousel__button--right">→</button>
           </div>