亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

setTime 0 在每個視頻上結束

setTime 0 在每個視頻上結束

冉冉說 2022-07-08 16:05:20
我在每個頁面中有 3 或 4 個這樣的模塊。(類“boxvideo1”和id“boxvideo4”由js添加)    <div class="servicios__layout">      <div class="grid">        <div class="box boxvideo1">          <video id="boxvideo4" class="slider-video h" width="100%" style="visibility: visible; width: 100%;">            <source src="//dl.dropbox.com/s/931244iox7i0fpk/working-with-espresso.mp4" type="video/mp4">                  </video>            <div class="icon-play"></div>            <a href="https://google.es"><div class="icon-mas"></div></a>                          </div>        <div class="box boxvideo2">          <video id="boxvideo4" class="slider-video h" width="100%" style="visibility: visible; width: 100%;">            <source src="//dl.dropbox.com/s/931244iox7i0fpk/working-with-espresso.mp4" type="video/mp4">                  </video>            <div class="icon-play"></div>            <a href="https://google.es"><div class="icon-mas"></div></a>                          </div>        </div>      </div>我在js中有兩個問題:首先,標簽 ID 始終相同且不是動態的。(總是 boxvideo4)第二個問題它的 js 沒有將 currentTime 設置為 0。var i = 1;var str1 = 'boxvideo';var str2 = '.boxvideo';var str3 = 'boxvideo';$('.servicios__layout .box').each(function (index, value) {  var classAdd = str1 + i;  var classCall = str2 + i;  var classCall2 = str3 + i;  $(this).addClass(classAdd);  $('.servicios__layout .box .slider-video').attr('id', classCall2);  $(classCall + ' .slider-video').on("ended", function () {    $(classCall + " .icon-play").fadeIn();    document.getElementById('classCall2').currentTime = 0;  });  i++;});
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

考慮以下代碼。


$(function() {

  var videos = $(".slider-video");

  videos.each(function(i, el) {

    $(el).attr("id", "box-video-" + (i + 1));

  });

  videos.on("ended", function() {

    $(this).get(0).currentTime = 0;

  });

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="servicios__layout">

  <div class="grid">

    <div class="box boxvideo1">

      <video id="boxvideo4" class="slider-video h" width="100%" style="visibility: visible; width: 100%;">

        <source src="//dl.dropbox.com/s/931244iox7i0fpk/working-with-espresso.mp4" type="video/mp4">

      </video>

      <div class="icon-play"></div>

      <a href="https://google.es">

        <div class="icon-mas"></div>

      </a>

    </div>

    <div class="box boxvideo2">

      <video id="boxvideo4" class="slider-video h" width="100%" style="visibility: visible; width: 100%;">

        <source src="//dl.dropbox.com/s/931244iox7i0fpk/working-with-espresso.mp4" type="video/mp4">

      </video>

      <div class="icon-play"></div>

      <a href="https://google.es">

        <div class="icon-mas"></div>

      </a>

    </div>

  </div>

</div>


更新


要在循環內重置id,我會使用傳入回調函數的變量。我用于i索引和el元素。


該.each()方法旨在使 DOM 循環結構簡潔且不易出錯。當被調用時,它會遍歷作為 jQuery 對象一部分的 DOM 元素。每次回調運行時,都會傳遞當前循環迭代,從 0 開始。更重要的是,回調是在當前 DOM 元素的上下文中觸發的,因此關鍵字 this 指的是該元素。


查看更多:https ://api.jquery.com/each/


查看完整回答
反對 回復 2022-07-08
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號