微信小程序 仿猫眼实现实例代码


Posted in Javascript onMarch 14, 2017

微信小程序仿猫眼

实现效果图:

微信小程序 仿猫眼实现实例代码

movie.js

Page({
  data: {
    movies:null,
    scrollTop : 0,
    scrollHeight:0
  },
  onLoad: function (options) {
    // 生命周期函数--监听页面加载
     // 这里要非常注意,微信的scroll-view必须要设置高度才能监听滚动事件,所以,需要在页面的onLoad事件中给scroll-view的高度赋值
    var that = this;
    wx.getSystemInfo({
     success:function(res){
       console.info(res.windowHeight);
       that.setData({
         scrollHeight:res.windowHeight
       });
     }
   });
   that.getAllMovies();
  },

  getAllMovies() {
    let thispage=this;
    //展示 加载框
    wx.showToast({
      title: '加载中',
      icon: 'loading',
      duration: 10000
    })

    //网络请求数据
    wx.request({
     url: 'http://m.maoyan.com/movie/list.json?type=hot&offset=0&limit=1000',
     method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
     header: {'content-type':'json'}, // 设置请求的 header
     success: function(res){
      // success
      let obj=res.data.data.movies;
      //将获取到的数据设置到 page 中的movies上
      thispage.setData({movies:obj});
      //隐藏加载框
      wx.hideToast();
      //停止刷新
      wx.stopPullDownRefresh();
     },
     fail: function() {
      // fail
     },
     complete: function() {
      // complete
     }
    })
  },
  //点击事件
  itemClick(event){
    

  },
  //刷新
  onPullDownRefresh: function () {
  this.getAllMovies();
 },
})

movie.json

{

  "enablePullDownRefresh": true
}

movie.wxml

<view class="top">
  <text class="top_text">深圳</text>
  <view class="top_input">
   <input placeholder="Q找影视剧、找影院" />
  </view>
 </view>
 <view class="item" wx:for="{{movies}}" wx:key="{{index}}" bindtap="itemClick" hover-class="item_press" hover="true" >
  <view class="pic">
   <image src="{{item.img}}"></image>
  </view>
  <view class="detail">
   <title>{{item.nm}}
    <text class="threeD" wx:if='{{item["3d"]}}'>3D</text>
    <text class="iMax" wx:if='{{item["imax"]}}'>IMAX</text>
    <text class="score" wx:if="{{item.preSale !=1}}">{{item.sc}}<text style='font-size:11px'>分</text>
    </text>
    <text class="wish" wx:else>{{item.wish}}<text style='font-size:11px'>人想看</text>
    </text>
   </title>
   <view class="type">
    {{item.cat}}
   </view>
   <view class="star">
    {{item.star}}
   </view>
   <view class="showinfo">
    {{item.showInfo}}
   </view>
   <view class="buy" wx:if="{{item.preSale !=1}}" >购买</view>
   <view class="buy" wx:else style="background:#008aff">预售</view>
  </view>
 </view>

movie.wxss

page{
 background-color: #f2f2f2;
}
.top {
 background-color: #f2f2f2;
 display: flex;
}

.top_text {
 margin-left: 15px;
 font-size: 15px;
 padding: 20px 0;
}

.top_input {
 border-radius: 10rpx;
 text-align: center;
 padding: 4px;
 font-size: 15px;
 flex: 1;
 margin: 10px 20px 10px 10px;
 background-color: #fff;
}

.item {
 background-color: #FFFFFF;
 position:relative;
 padding: 10px;
 display: flex;
 border-width:1px;
 border-bottom-style: solid;
 border-color: #ccc;
}
.item_press {
 background-color: #F0F0F0;
}

.pic image {
 margin-right: 10px;
 width: 70px;
 height: 100px;
}
.detail{
  flex: 1;
  display: flex;
  flex-direction: column;
}
.detail title{
  margin-top: 5px;
  color: #222222;
  flex: 1;
  font-size: 16px;
}
.threeD{
  border-radius: 2px;
  padding: 3px;
  background-color: #8bb7ce;
  font-size: 10px;
  color: white;
}
.iMax{
  border-style:solid;
  border-width:1px;
  margin-left: -2px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  font-size: 10px;
  color: #8bb7ce;
  padding: 2px;
}
.score,
.wish{
  float:right;
  color: orange;
  margin-right: 15px;
}

.type,
.star{
  color: #666666;
  font-size: 13px;
  overflow:hidden;
  white-space: nowrap;
  text-overflow:ellipsis;
  width: 210px;
  flex: 1;
}
.showinfo{
  color: #999999;
  font-size: 13px;
  flex: 1;
}

.buy{
  padding: 8px;
  border-radius: 5px;
  font-size: 13px;
  color: #FFFFFF;
  background-color: #ee4137;
  float: right;
  position: absolute;
  right: 10px;
  top:52px;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
window.open的功能全解析
Oct 10 Javascript
ext监听事件方法[初级篇]
Apr 27 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
基于js Canvas实现二次贝塞尔曲线
Dec 25 Javascript
node 版本切换的实现
Feb 02 Javascript
Vue如何提升首屏加载速度实例解析
Jun 25 Javascript
浅谈node.js中间件有哪些类型
Apr 29 Javascript
利用js定义一个导航条菜单
Mar 14 #Javascript
微信小程序 跳转传参数与传对象详解及实例代码
Mar 14 #Javascript
使用BootStrap实现标签切换原理解析
Mar 14 #Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 #Javascript
node.js爬虫爬取拉勾网职位信息
Mar 14 #Javascript
AngularJS实现页面定时刷新
Mar 14 #Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 #Javascript
You might like
PHP中文件上传的一个问题
2010/09/04 PHP
使用php计算排列组合的方法
2013/11/13 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Python 实现微信防撤回功能
2019/04/29 Python
Django框架反向解析操作详解
2019/11/28 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
会话Bean的种类
2013/11/07 面试题
.NET常见笔试题集
2012/12/01 面试题
师范毕业生个人求职信
2013/12/09 职场文书
活动策划求职信模板
2014/04/21 职场文书
体育馆的标语
2014/06/24 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL
Java 数组内置函数toArray详解
2021/06/28 Java/Android