微信小程序实现banner图轮播效果


Posted in Javascript onJune 28, 2020

本文实例为大家分享了微信小程序实现banner图轮播的具体代码,供大家参考,具体内容如下

效果图:

微信小程序实现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;
}

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

Javascript 相关文章推荐
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
Nov 12 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
Jan 24 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
Vue声明式渲染详解
May 17 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
JavaScript中的相等操作符使用详解
Dec 21 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 Javascript
JavaScript封装单向链表的示例代码
Sep 17 Javascript
如何使用VuePress搭建一个类型element ui文档
Feb 14 #Javascript
JavaScript类型相关的常用操作总结
Feb 14 #Javascript
VuePress 快速踩坑小结
Feb 14 #Javascript
使用vuepress搭建静态博客的示例代码
Feb 14 #Javascript
Node.js如何对SQLite的async/await封装详解
Feb 14 #Javascript
VuePress 静态网站生成方法步骤
Feb 14 #Javascript
extract-text-webpack-plugin用法详解
Feb 14 #Javascript
You might like
谈谈PHP语法(4)
2006/10/09 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
Python itertools模块详解
2015/05/09 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
Python使用pymysql小技巧
2017/06/04 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
python实现石头剪刀布小游戏
2021/01/20 Python
安装python及pycharm的教程图解
2019/10/10 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
Shell编程面试题
2016/05/29 面试题
企业负责人任命书
2014/06/05 职场文书
新党章心得体会
2014/09/04 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
借条如何写
2015/05/26 职场文书
小学六年级毕业感言
2015/07/30 职场文书
大学入学感言
2015/08/01 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript