欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序实现两边小中间大的轮播效果的示例代码

程序员文章站 2022-03-04 13:41:15
好久没跟新博客了  今天没啥事来记录一下我的成果  哈哈哈 今天产品小姐姐过来跟我说改一下产品活动页的样式  我看了一眼发现有个轮播样式两边...

好久没跟新博客了  今天没啥事来记录一下我的成果  哈哈哈

今天产品小姐姐过来跟我说改一下产品活动页的样式  我看了一眼发现有个轮播样式两边小中间大  这个我以前是没有写过的 而且在小程序中要实现  觉得应该不是很简单  想着记录一下吧  其实没我想的那么难实现

小程序有个组件轮播组件swiper  这个就可以直接使用  而且他提供了两个属性很实用

微信小程序实现两边小中间大的轮播效果的示例代码

这个可以帮助实现出现两边部分图片信息的功能

我主要的想法就是给个标识 当滑动到某个图片时让他的样式处于大图状态 他的上一张是缩小并出现左边部分  下一张缩小出现右边部分  所以我讲循环的图片数据改为了这样

imgurls: [
   {
    url: 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
    ischange:1,
   },
   {
    url: 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
    ischange: 2,
   },
   {
    url: 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg',
    ischange: 3,
   },
  ],

字段ischange是用来判断图片样式的

页面代码

 <swiper indicator-dots="{{false}}" autoplay="{{false}}" previous-margin='80rpx' next-margin='80rpx' bindchange='swiperchange'>
 <block wx:for="{{imgurls}}" wx:for-item='item' wx:key=''>
  <swiper-item>
   <view class="shuffing-item {{item.ischange==2?'shuffing-item-next':item.ischange==0?'shuffing-item-preo':''}}">
    <image src="{{item.url}}"></image>
    <view class='shuffing-mask'>
     <text>开启不老童话</text> 
     <text>></text>
    </view>
   </view>
  </swiper-item>
 </block>
</swiper>

样式代码

swiper{
 height:520rpx;
 margin:20rpx 30rpx;
}
 
.shuffing{
 text-align: center;
 width:100%;
 position: relative;
}
.shuffing-item{
 position: absolute;
 width:100%;
 left:50%;
 top:50%;
 transform: translatex(-50%) translatey(-50%);
 height:520rpx;
 transition: all 0.3s;
}
.shuffing-item-next{
 width:85%;
 height:85%;
 transform:translatex(-100%) translatey(-50%);
 transition: all 0.3s;
}
.shuffing-item-preo{
 width:85%;
 height:85%;
 transform:translatex(40%) translatey(-50%);
 transition: all 0.3s;
}
.shuffing-item>image{
 width:100%;
 height:100%;
}
.shuffing-mask{
 position: absolute;
 bottom: 0;
 width:100%;
 line-height: 60rpx;
 background: rgba(0,0,0,0.6);
 color:#fff;
 display: flex;
 justify-content: space-between;
 padding:0 20rpx;
}

感觉小程序有个swiper组件还是挺简单实现的  没有刚开始想的那么难  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。