jquery如何延迟播放每个克隆的视频

问题描述 投票:0回答:1

我想让视觉效果一次播放同一视频多次,但要稍加延迟才能解决。第一个视频将在播放开始时播放,其余视频将以级联方式播放,每个播放都有1000个延迟,因此最后一个视频将播放克隆的视频数量x1000。

但是我无法延迟每个克隆的播放。只需暂停或同时播放所有这些。我想念什么?

    <body>
    <div class="masonry-css" id="gridVideos">
    </div>
    <script type="text/javascript">
        var cloneCount = 1;
        var count = 0;
        $.fn.multiply = function (numCopies) {
            var newElements = this.clone(true, true);
            for (var i = 1; i < numCopies; i++) {
                count++;
                newElements  = newElements.add(this.clone(true, true)
                                          .attr('id', 'Videos' + cloneCount++)
                                          .insertAfter($('[id^="gridVideos"]:last'))
                );
            }
            return newElements;
        };
        var repeVideos = $('<video/>', {
            'id': 'myVideo',
            'class': 'masonry-css-videos',
            'width': '320',
            'muted': 'true',
            'loop': 'true',
            'src': 'videos/AVIDEAlow.webm',
            'type': 'video/webm',
        });
        var repetimos = $('<div/>', {
            'id': 'Videos0',
            'class': 'masonry-css-item',
        });
        var todoDivsVideo = repetimos.append(repeVideos);
        $('#gridVideos').append(todoDivsVideo.multiply(9));
        $('video').trigger('pause');
        $('[id^="Videos"]').find('video').each(function(){
                        setTimeout(function(){$('video').trigger('play');
                         });
                        });

jquery video settimeout clone delay
1个回答
1
投票

jQuery中.each()的第一个参数是当前索引,因此您可以使用.each()来增加循环期间的延迟

第二个参数是当前元素,因此您也可以使用它代替index * 1000选择器

video
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.