微信小程序swiper 视频中间大,两边小,轮播滑到中间视频自动播放组件教程

news2025/1/20 6:04:01

静态效果:

 进入下面小程序可以体验效果,点击底部 看剧 栏目 

 

 一、创建小程序组件

二、代码

1、WXML

<view class="swiper-wrapper" 
style="background-image:url(/asset/image/hot-banner.jpg);background-size: 100% 100%;">
    <swiper
    class="main-sw"
    autoplay="{{false}}"
    circular="{{true}}"
    interval="{{5000}}" 
    duration="{{500}}"
    current="{{posterList.length>2?1:0}}"
    previous-margin="255rpx"
    next-margin="255rpx"
    bindchange="swiperChange"
    >
    <block wx:for="{{posterList}}" wx:key="index">
        <swiper-item >
            <view class="swiper-item {{currentIndex==index?'swiper-item-active':'swiper-item-noactive'}}">
                <video
                class="vie" 
                id="{{'at_'+index}}"
                custom-cache="{{false}}"
                autoplay="{{currentIndex==index?true:false}}"
                data-index="{{index}}"
                bindplay="videoPlay"
                play-btn-position="center"
                show-bottom-progress="{{false}}"
                loop="{{currentIndex==index?true:false}}"
                enable-progress-gesture="{{false}}"
                show-fullscreen-btn="{{false}}"
                object-fit="fill" 
                src="{{item.url}}"
                poster=""/>
            </view>
        </swiper-item>
    </block>
    </swiper>
</view>

2、wxss

.swiper-wrapper{
  flex: 1;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border-radius: 20rpx;
}
.main-sw{
  width: 100%;
  height: 430rpx;
}
 
.swiper-item{
  height: 450rpx;
  display: flex;
  align-items: center;
}
 
.swiper-item .vie{
  width: 180rpx;
  height: 300rpx;
  margin: 0 auto;
  border-radius: 20rpx;
  transition: all 0.6s;
}

.swiper-item-noactive{
    padding-top: 30rpx;
    transition: all 0.6s;
}

.swiper-item-active{
    transition: all 0.6s;
}

.swiper-item-active .vie{
  width: 100%;
  height: 360rpx;
  transition: all 0.6s;
}

 3、JS

// components/swiper-video/swiper-video.js
Component({
    lifetimes: {
        ready: function() {
        }
    },
    /**
     * 组件的属性列表
     */
    properties: {

    },

    /**
     * 组件的初始数据
     */
    data: {
        currentIndex: 1,
        preIndex:-1,
        posterList: [
          {
            id: '1', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/02/15/15/BMjAyNDAyMTUxNTQ0NTNfMjI1MzQ2MDQxMV8xMjUwMDcyMDgyODZfMV8z_b_B5e4c6a553c4e284e7941a0ded6c00abb.mp4?tag=1-1708249770-unknown-0-p3ytzdyhr9-044ff73795d79af2&clientCacheKey=3xypn8bt5vm7w5q_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '2', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/01/30/16/BMjAyNDAxMzAxNjQwMzJfMzgyMzQ3MjQ1XzEyMzUyMTMwODU4NF8xXzM=_b_Be0f3bfddfb287f120ec484218179d214.mp4?tag=1-1708249795-unknown-0-4piuyvkt6d-783157ecbf33a1a3&clientCacheKey=3xpwz2fks5az6r4_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '3', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/02/17/14/BMjAyNDAyMTcxNDI0NDZfMTI5OTg4NTg4NV8xMjUxODQ5NTczNDRfMF8z_b_B3c596afe9e6ddc96e88d71351da052ac.mp4?tag=1-1708249822-unknown-0-ab5yaqiqon-f89388c9a0fbea5f&clientCacheKey=3x8669dhkxfztyc_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '4', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/02/17/17/BMjAyNDAyMTcxNzExMDRfMjM0NzM2OTY3OV8xMjUxOTkzNTUwOTlfMF8z_b_B531ec3a51ae00fdf805e892aefbf6733.mp4?tag=1-1708249852-unknown-0-jde8ia4ef8-80944aff380e6a62&clientCacheKey=3xzj5p23mfrrsm9_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '5', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/02/18/11/BMjAyNDAyMTgxMTAyMzdfMTYzNTI5NjEzNV8xMjUyNjE0MjQ4NTJfMF8z_b_B3da4064bfef058d0c2821f64f24d863e.mp4?tag=1-1708249875-unknown-0-oudstqms9g-770ac56e97209131&clientCacheKey=3xfywqaqhr4xav4_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '6', 
            url: 'https://tx2.a.kwimgs.com/upic/2023/12/08/14/BMjAyMzEyMDgxNDA1NThfMjEwNjQzMjExMV8xMTkxMTE3NDE1NzVfMV8z_b_Ba62e8a6ff0405a74160c6887700f4d6c.mp4?tag=1-1708177895-unknown-0-9bhguogrkc-94f990275f193667&clientCacheKey=3xsxvbspa44ezue_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '7', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/01/17/13/BMjAyNDAxMTcxMzMyMDZfMzg1MTI1NDMwMV8xMjIzMjA4MTg1MzJfMl8z_b_B64de3e477a3c56931c2e1c869455bb8a.mp4?tag=1-1708249935-unknown-0-8hoxqf5mqv-06a7d7fd75d38e4b&clientCacheKey=3xns4fd3r5iw3mq_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '8', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/01/02/19/BMjAyNDAxMDIxOTIxMDNfMzg4MTc4NzIwM18xMjEyMTY2NjYzOTNfMl8z_b_B7243f24b02219e4fafb2aa4e92cc5395.mp4?tag=1-1708249950-unknown-0-p2dy8mumai-fe39fb7133a179af&clientCacheKey=3xjxfvd5cnhip2u_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '9', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/02/16/17/BMjAyNDAyMTYxNzU3MTRfMTU2ODQ2MzM2Ml8xMjUxMTA1MDIwMDZfMV8z_b_B74927e5fb4232fc899c57f2e68fa5582.mp4?tag=1-1708249967-unknown-0-vrnqcigp6e-3d0aa458f1aaf315&clientCacheKey=3xu5uaiuju6y5xu_b.mp4&bp=10000&tt=b&ss=vp'
          },
          {
            id: '10', 
            url: 'https://tx2.a.kwimgs.com/upic/2024/01/01/11/BMjAyNDAxMDExMTAxMjhfMTk3MDc5MTUxMV8xMjExMDExOTE1ODVfMV8z_b_B6fc046ba1a3cc0b114ffb7a3feb87c68.mp4?tag=1-1708250014-unknown-0-glxnbdhuvo-79c4b0891fd217ee&clientCacheKey=3x43rid7dz3y7pk_b.mp4&bp=10000&tt=b&ss=vp'
          },
        ]
    },

    /**
     * 组件的方法列表
     */
    methods: {
        //视频切换
        swiperChange(event){
            if(this.data.preIndex>-1){
                var cxt = wx.createVideoContext('at_'+this.data.preIndex, this);
                //停止前一个视频的播放
                cxt.stop();
                //将视频重头开始播放
                cxt.seek(10000);
            }
            let {current} = event.detail;
            var cxt = wx.createVideoContext('at_'+current, this);
            cxt.play();
            this.setData({
                currentIndex: current,
                preIndex: current
            })
        },
        //视频播放
        videoPlay(e){
            this.setData({
                preIndex: e.currentTarget.dataset.index
            })
        }
    }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1458045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux程序性能分析60秒+

Linux性能分析大师Brendan Gregg有一篇非常著名的博客&#xff0c;介绍在性能分析开始的60秒内&#xff0c;利用标准的Linux命令行工具&#xff0c;执行一次充分的性能检查&#xff0c;获得系统资源利用率和进程运行情况的整体概念&#xff0c;查看是否存在异常、评估饱和度。本…

Elasticsearch:什么是搜索引擎?

搜索引擎定义 搜索引擎是一种软件程序或系统&#xff0c;旨在帮助用户查找存储在互联网或特定数据库中的信息。 搜索引擎的工作原理是对各种来源的内容进行索引和编目&#xff0c;然后根据用户的搜索查询向用户提供相关结果列表。 搜索引擎对于希望快速有效地查找特定信息的用…

【漏洞复现】大华DSS城市安防系统文件读取漏洞

Nx01 产品简介 大华DSS数字监控系统是一个在通用安防视频监控系统基础上设计开发的系统&#xff0c;除了具有普通安防视频监控系统的实时监视、云台操作、录像回放、报警处理、设备治理等功能外&#xff0c;更注重用户使用的便利性。 Nx02 漏洞描述 大华城市安防监控系统平台管…

计算机网络-广域通信网

1.广域网概念和分类 什么是广域网&#xff1f; 广域网是指长距离跨地区的各种局域网、计算机、终端互联在一起&#xff0c;组成一个资源共享的通信网络。 广域网分为传统广域网和现代广域网。 传 统 广 域 网公共交换电话网PSTN公共数据网X.25帧中继网FR综合业务数据网ISDN…

GitHub仓库文件部署

目录 软件下载和安装 git创建仓库 Github仓库配置 git管理软件配置 Git管理 软件下载和安装 首先需要下载git&#xff0c;以及git管理软件&#xff0c;对其进行安装。 git创建仓库 首先需要创建仓库&#xff0c;在本地仓库文件夹cmd之后输入以下指令创建git仓库文件。 …

数论 - 求组合数

文章目录 一、求组合数&#xff08;1≤n≤10000,1≤b≤a≤2000且取模&#xff09;1.题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 2.算法 二、求组合数&#xff08;1≤n≤10000,1≤b≤a≤10^5^且取模&#xff09;1.题目描述输入格式输出格式数据…

如何搭建一款论坛系统?简单介绍多功能论坛系统。

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 论坛系统简单介绍就是&#xff1a;跟微博类似的app系统&#xff0c;粉丝用户可以很好…

Linux调优指南

更多相关知识可以阅读&#xff1a; https://www.yuque.com/treblez/qksu6c/yxl59pkvczqot9us https://www.yuque.com/treblez/qksu6c/nqe8ip59cwegl6rk 本文不会讲解基础知识。 CPU 设置调度器 这几个调度类的优先级如下&#xff1a;Deadline > Realtime > Fair 如果你…

人工智能出海业务:快速发展的新趋势

随着全球人工智能技术的持续进步和应用领域的不断拓展&#xff0c;人工智能在海外市场的出海业务正呈现出蓬勃发展的势头。从美国硅谷到中国北京中关村&#xff0c;从欧洲伦敦到新加坡科技园&#xff0c;越来越多的人工智能企业纷纷将目光投向海外&#xff0c;寻求更广阔的市场…

Eclipse - Text Editors (文本编辑器)

Eclipse - Text Editors [文本编辑器] References Window -> Preferences -> General -> Editors -> Text Editors Displayed tab witdth: 4 勾选 Insert spaces for tabs 勾选 Show line number References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.n…

第三讲 数据存储

面向磁盘的架构 DBMS 假定数据库的主要存储位置位于非易失性磁盘【non-volatile disk】上。 DBMS 的组件【components】负责管理非易失性【non-volatile】和易失性【volatile】存储之间的数据移动。 为了理解来回移动数据的影响&#xff0c;我们首先要先理解存储层次结构是什么…

逻辑测试题

1、理发师难题&#xff1a;意大利的理发师向世人宣布&#xff1a;他只给不给自己理发的人理发&#xff0c;请问理发师的这句话有没有逻辑问题&#xff1f; 只帮那些自己不理发的人理发。那么&#xff0c;理发师应该为自己理发吗&#xff1f;如果理发师不给自己理发&#xff0c;…

【Unity编辑器扩展】Unity编辑器主题颜色设置工具

可以用来应用和自定义你的Unity编辑器。14个主题可供选择。轻松创建自己的主题。 主题展示:

stable diffusion官方版本复现

踩了一些坑&#xff0c;来记录下 环境 CentOS Linux release 7.5.1804 (Core) 服务器RTX 3090 复现流程 按照Stable Diffusion的readme下载模型权重、我下载的是stable-diffusion-v1-4 版本的 1 因为服务器没法上huggingface&#xff0c;所以得把权重下载到本地&#xff…

板块一 Servlet编程:第四节 HttpServletResponse对象全解与重定向 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程&#xff1a;第四节 HttpServletResponse对象全解与重定向 一、什么是HttpServletResponse二、响应数据的常用方法三、响应乱码问题字符流乱码字节流乱码 四、重定向&#xff1a;sendRedirect请求转发和重定向的区别 在上一节中&#xff0c;我们系统的学习了…

简单理解VQGAN

简单理解VQGAN TL; DR&#xff1a;与 VQVAE 类似&#xff0c;隐层压缩表征自回归生成的两阶段图像生成方法。增加感知损失和对抗损失&#xff0c;提高压缩表征模型解码出图片的清晰度。还可以通过编码并预置条件表征&#xff0c;实现条件生成。 隐层压缩表征自回归生成&#…

Leetcoder Day15| 二叉树 part04

语言&#xff1a;Java/C 110.平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 输入&#xff1a;root [3,9,20,null,null,15,…

计算机网络概论和数据通信基础

文章目录 计算机网络概论从物理构成上看&#xff0c;计算机网络包括硬件、软件和协议三大部分计算机网络的功能组成计算机网络的分类网络体系结构分层与体系结构接口、协议和服务数据传送单位OSI模型TCP/IP模型 数据通信基础数字信号调制为模拟信号正交振幅调制QAM 模拟数据编码…

Deep Learning with OpenCV DNN Module介绍

Deep Learning with OpenCV DNN Module介绍 1. 源由2. 为什么/什么是OpenCV DNN Module?2.1 支持的不同深度学习功能2.2 支持的不同模型2.3 支持的不同框架 3. 如何使用OpenCV DNN模块3.1 使用从Keras和PyTorch等不同框架转换为ONNX格式的模型3.2 使用OpenCV DNN模块的基本步骤…

SpringCloud-基于Feign远程调用

Spring Cloud 是一个用于构建分布式系统的开发工具包&#xff0c;它提供了一系列的微服务组件&#xff0c;其中之一就是 Feign。Feign 是一种声明式的 Web 服务客户端&#xff0c;它简化了在 Spring Cloud 中进行远程调用的过程。本文将介绍如何在 Spring Cloud 中使用 Feign 进…