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

这篇具有很好参考价值的文章主要介绍了微信小程序swiper 视频中间大,两边小,轮播滑到中间视频自动播放组件教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

静态效果:

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

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

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

 

 一、创建小程序组件

微信小程序swiper 视频中间大,两边小,轮播滑到中间视频自动播放组件教程,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-829186.html

二、代码

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
            })
        }
    }
})

到了这里,关于微信小程序swiper 视频中间大,两边小,轮播滑到中间视频自动播放组件教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序(原生)——轮播图swiper、1秒切换、自动轮播、无缝切换

    微信小程序的轮播图制作,且图片不变形。1秒切换、自动轮播、无缝切换 index.wxml文件: index.wxss文件: 完整示意图 swiper网址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html image网址:https://developers.weixin.qq.com/miniprogram/dev/component/image.html 图片处理方面: mode=\\\"aspectFi

    2024年02月15日
    浏览(35)
  • 【微信小程序入门到精通】— 轮播图你会了么?快速拿下 swiper 和 swiper-item

    对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢? 为此我特意开设此专栏,在我学习的同时也将其分享给大家! 本篇文章主要介绍我们微信小程序常用的视图容器类组件,对于 swiper 和 swiper-item 我们将逐一讲解。 如果在往下阅读

    2024年02月20日
    浏览(37)
  • 移动端Swiper的一些尝试(中间完整,两边有内容,循环展示)

    【背景】最近公司的需求很多实现一个Swiper滑块,中间完整。两边展示一些内容(可能是固定的提示方案,也可能是前后上下一页的部分内容),然后还需要循环滚动,其中遇到了一些问题特此记录  【方案1】两边内容自绘制 因为设计稿两边是一个没有内容的边边,像一个

    2024年02月09日
    浏览(26)
  • 【微信小程序】swiper的使用

    1.swiper的基本使用 ----scss语法

    2024年02月08日
    浏览(31)
  • 微信小程序swiper禁止用户滑动

    小程序中有时候我们要禁止用户滑动 swiper 组件,该怎么做呢? 方案1:(不推荐) 在 swiper-item 上加上事件 catchtouchmove 即可。 缺点:当页面需要可以滚动时,手碰到 swiper 的地方是滑不动的。 wxml代码: ts代码: 方案2:(推荐) 写一个伪类,用一个蒙层盖住swiper (记得把伪

    2024年02月11日
    浏览(31)
  • 微信小程序 --自定义堆叠式Swiper

    首先看下最终的效果,三张卡片堆叠式swiper,居中的为展示,左右两边为前一个和后一个,如果是第一长,或者最后一张,对应的前后无阴影堆叠 一共渲染出4个卡片,然后根据显示位置设置zIndex,scale,left等属性,监听用户的滑动行为,对4个卡片的位置进行调整,然后只在当

    2024年02月13日
    浏览(24)
  • 【微信小程序】swiper和swiper-item组件的基本使用

    ✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:微信小程序 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请

    2024年02月09日
    浏览(32)
  • 初识微信小程序之swiper和swiper-item的基本使用

    在我还没接触到微信小程序之前,通常使用轮播要么手写或使用swiper插件去实现,当我接触到微信小程序之后,我看到了微信小程序的强大之处,让我为大家介绍一下吧! swiper与swiper-item一起使用可以做轮播图 基本使用,上代码: 样式 swiper当中常用的属性 属性 类型 默认值

    2024年04月16日
    浏览(27)
  • 微信小程序——swiper抖动问题解决以及节流、防抖

    目录 一、引出 二、防抖函数 1.为什么需要防止抖动的原因 2.函数防止抖动的原理 3.防抖动代码函数实现 4.在小程序当中使用的防抖函数 三、节流函数 1.为什么需要节流的原因 2.函数节流的原理 3.节流函数代码的实现 四、区别与使用的场景 1.什么时候会用到节流函数和防抖函

    2024年02月04日
    浏览(58)
  • 【微信小程序】swiper自定义样式:指示点样式 wx-swiper-dot

    调试基础库:2.26.0 .wx-swiper-dots : 指示点容器样式 .wx-swiper-dots-horizontal : 水平滑动的指示点容器样式,其在 .wx-swiper-dots 内。 .wx-swiper-dot :指示点样式 .wx-swiper-dot-active : 当前指示点样式 默认指示点颜色 改变指示点颜色 默认指示点形状 改变指示点形状 默认指示点位置贴近

    2024年02月12日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包