微信小程序实现banner图轮播(动态获取数据),自动获取图片高度

微信小程序实现banner图轮播(动态获取数据),自动获取图片高度效果图:indicator-active-color=”#007aff”//当前选中的指示点颜色js:constapp=getApp()Page({data:{//———–模拟banner图———–imgUrls:[‘/image/1545118381903.jpg’,’/imag…

大家好,又见面了,我是你们的朋友全栈君。

效果图:

微信小程序实现banner图轮播(动态获取数据),自动获取图片高度

indicator-active-color=”#007aff”//当前选中的指示点颜色 

js:

const app = getApp()

Page({
  data: {
     //-----------模拟banner图-----------
    imgUrls: [
      '/image/1545118381903.jpg',
      '/image/1545118566631.jpg'
    ],
    circular: true,
    //是否显示画板指示点  
    indicatorDots: true,
    //选中点的颜色  
    //是否竖直  
    vertical: false,
    //是否自动切换  
    autoplay: true,
    //自动切换的间隔
    interval: 3000,
    //滑动动画时长毫秒  
    duration: 1000,
    //所有图片的高度  
    imgheights: [],
    //图片宽度 
    imgwidth: 750,
    //默认  
    current: 0
  },
  imageLoad: function (e) {//获取图片真实宽度  
    var imgwidth = e.detail.width,
      imgheight = e.detail.height,
      //宽高比  
      ratio = imgwidth / imgheight;
    console.log(imgwidth, imgheight)
    //计算的高度值  
    var viewHeight = 750 / ratio;
    var imgheight = viewHeight;
    var imgheights = this.data.imgheights;
    //把每一张图片的对应的高度记录到数组里  
    imgheights[e.target.dataset.id] = imgheight;
    this.setData({
      imgheights: imgheights
    })
  },
  bindchange: function (e) {
    // console.log(e.detail.current)
    this.setData({ current: e.detail.current })
  },
   }
})

wxml:

<!-------------首页轮播图-----------------  -->
<view class='swiper'>
  <swiper indicator-dots="{
  
  {indicatorDots}}" vertical="{
  
  {vertical}}" autoplay="{
  
  {autoplay}}" duration="{
  
  {duration}}" interval='{
  
  {interval}}'indicator-active-color="#007aff" bindchange="bindchange" circular="{
  
  {circular}}" style="height:{
  
  {imgheights[current]}}rpx;">
    <block wx:for='{
  
  {imgUrls}}' wx:key="{
  
  {index}}">
      <swiper-item>
        <image src="{
  
  {item}}" data-id='{
  
  {index}}' class="slide-image" mode="widthFix" bindload="imageLoad" />
      </swiper-item>
    </block>
  </swiper>
</view>

wxss:

.swiper image {
  width: 100%;
  height: auto;
}

.swiper-image {
  height: 100%;
  width: 100%;
}

.slide-image {
  height: 100%;
  width: 100%;
  display: block;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143227.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ElasticSearch join连接查询「建议收藏」

    ElasticSearch join连接查询「建议收藏」ElasticSearchjoin连接查询特别说明:文章所有内容基于ElasticSerch5.5.3版本ElasticSerch的连接查询有两种方式实现nestedparent和child关联查询nested存储结构nested的方式和其他字段一样,在同一个type里面存储,以数组的方式存储在type里,格式如下:PUTindex…

  • 视频识别的基础概念[通俗易懂]

    视频识别的基础概念[通俗易懂]视频识别一、视频识别几大问题2、常见的解决方案iDTTwo-StreamTSNC3DTDDRNNRPAN一、视频识别几大问题未修剪视频分类(UntrimmedVideoClassification):通过对输入的长视频进行全局分析,然后软分类到多个类别修剪视频识别(TrimmedActionRecognition):给出一段只包含一个动作的修剪视频,要求给视频分类时序行为提名(TemporalActionProposal):从长视频中找出可能含有动作的视频段时序行为定位(Tempor

  • 诛仙3 私服架设 仿官网「建议收藏」

    诛仙3 私服架设 仿官网「建议收藏」背景:想情怀一把,抑或想怀旧一下,利用官网的乐趣+私服的金钱,打造一个全新的玩法,这就是我的追求。当然了,好东西是要分享的。 全套工具在百度云盘中: 链接:http://pan.baidu.com/s/1i5HG9YP密码:zg7i…

  • Hmily:轻轻松松搞定高并发分布式事务[通俗易懂]

    Hmily:轻轻松松搞定高并发分布式事务[通俗易懂]点击上方“芋道源码”,选择“置顶公众号”技术文章第一时间送达!源码精品专栏 精尽Dubbo原理与源码 69篇精尽Netty原理与源码 61篇中文详细注释的开源…

  • JSQI网站大事表 | Website Landmark

    JSQI网站大事表 | Website Landmark

    2021年11月17日
  • mac录屏怎么减小文件大小_血小板体积低怎么回事

    mac录屏怎么减小文件大小_血小板体积低怎么回事有Mac录屏的需求,Mac自带的录屏软件挺好用的。就是默认帧率高达60fps,文件体积比较大。文件是.mov格式不通用。我平时录屏的内容就是演示一些软件的基本操作发送给客户,通常是临时录制(非正式),能看就行了,不需要过高的帧率。录屏文件过大反而影响qq发送。解决方案:全屏录制用EV录屏选区录制用Mac自带的QuickTimePlayer录制,录制完进行格式转换EV录屏https://www.ieway.cn/evcapture.html这个软件挺好用的,我在Windows下就

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号