微信小程序实战之轮播图(3)


Posted in Javascript onApril 17, 2017

轮播图是大部分应用的一个常用的功能,常用于广告投放、产品展示、活动展示等等。

漂亮的轮播图效果可以吸引用户的点击,达到推广产品的作用。

废话少说,下面开始动手。

业务需求:

5个图片轮番播放,可以左右滑动,点击指示点可以切换图片 

重点说明:

由于微信小程序,整个项目编译后的大小不能超过1M

查看做轮播图功能的一张图片大小都已经有100+k了

那么我们可以把图片放在服务器上,发送请求来获取。

index.wxml:

这里使用小程序提供的<swiper>组件
autoplay:自动播放
interval:自动切换时间
duration:滑动动画的时长
current:当前所在的页面
bindchange:current 改变时会触发 change 事件
由于<swiper>组件提供的指示点样式比较单一,另外再自定义指示点的样式

<view class="recommend" > 
 <view class="swiper-container"> 
  <swiper autoplay="auto" interval="5000" duration="500" current="{{swiperCurrent}}" bindchange="swiperChange" class="swiper"> 
   <block wx:for="{{slider}}" wx:key="unique"> 
    <swiper-item data-id="{{item.id}}" data-url="{{item.linkUrl}}"> 
     <image src="{{item.picUrl}}" class="img"></image> 
    </swiper-item> 
   </block> 
  </swiper> 
  <view class="dots"> 
   <block wx:for="{{slider}}" wx:key="unique"> 
    <view class="dot{{index == swiperCurrent ? ' active' : ''}}" bindtap="chuangEvent" id="{{index}}">{{index+1}}</view> 
   </block> 
  </view> 
 </view> 
</view>

index.wxss:

.swiper-container{ 
 position: relative; 
} 
.swiper-container .swiper{ 
 height: 300rpx; 
} 
.swiper-container .swiper .img{ 
 width: 100%; 
 height: 100%; 
} 
.swiper-container .dots{ 
 position: absolute; 
 right: 40rpx; 
 bottom: 20rpx; 
 display: flex; 
 justify-content: center; 
} 
.swiper-container .dots .dot{ 
 margin: 0 10rpx; 
 width: 28rpx; 
 height: 28rpx; 
 background: #fff; 
 border-radius: 50%; 
 transition: all .6s; 
 font: 300 18rpx/28rpx "microsoft yahei"; 
 text-align: center; 
} 
.swiper-container .dots .dot.active{ 
 background: #f80; 
 color:#fff; 
}

 index.js:

//导入js 
var util = require('../../utils/util.js') 
Page({ 
 data: { 
  slider: [], 
  swiperCurrent: 0 
 }, 
 onLoad: function () { 
  var that = this; 
//网络访问,获取轮播图的图片 
  util.getRecommend(function(data){ 
   that.setData({ 
    slider: data.data.slider 
   }) 
  });  
 }, 
 //轮播图的切换事件 
 swiperChange: function(e){ 
//只要把切换后当前的index传给<swiper>组件的current属性即可 
  this.setData({ 
   swiperCurrent: e.detail.current 
  }) 
 }, 
 //点击指示点切换 
 chuangEvent: function(e){ 
  this.setData({ 
   swiperCurrent: e.currentTarget.id 
  }) 
 } 
})

utils.js:

//网络访问 
function getRecommend(callback) { 
 wx.request({ 
  url: 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg', 
  data: { 
   g_tk: 5381, 
   uin: 0, 
   format: 'json', 
   inCharset: 'utf-8', 
   outCharset: 'utf-8', 
   notice: 0, 
   platform: 'h5', 
   needNewCode: 1, 
   _: Date.now() 
  }, 
  method: 'GET', 
  header: {'content-Type': 'application/json'}, 
  success: function(res){ 
   if(res.statusCode == 200){ 
    callback(res.data); 
   } 
  } 
 }) 
} 
 
module.exports = { 
 getRecommend: getRecommend 
}

运行:

微信小程序实战之轮播图(3)

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

Javascript 相关文章推荐
javascript中的document.open()方法使用介绍
Oct 09 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
js获取电脑分辨率的思路及操作
Nov 22 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
浅析Node在构建超媒体API中的作用
Jul 30 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
React Native之ListView实现九宫格效果的示例
Aug 02 Javascript
vue路由拦截及页面跳转的设置方法
May 24 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 #Javascript
微信小程序实战之上拉(分页加载)效果(2)
Apr 17 #Javascript
微信小程序教程系列之新建页面(4)
Apr 17 #Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 #Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 #Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 #Javascript
微信小程序商城项目之侧栏分类效果(1)
Apr 17 #Javascript
You might like
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
纯JS实现轮播图
2017/02/22 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
Python使用django搭建web开发环境
2017/06/09 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
Python连接字符串过程详解
2020/01/06 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
使用Python pip怎么升级pip
2020/08/11 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
药剂学专业应届生自荐信
2013/09/29 职场文书
课程改革实施方案
2014/03/16 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
悬空寺导游词
2015/02/05 职场文书
前台接待员岗位职责
2015/04/15 职场文书
导游词之西安骊山
2019/12/03 职场文书
python urllib库的使用详解
2021/04/13 Python