Blogger Information
Blog 49
fans 0
comment 4
visits 41747
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
完善抖音小程序页面
过儿的博客
Original
998 people have browsed it

index.wxml文件

实例

<!--index.wxml-->
<!-- 顶部导航 -->
<view class="header">
   <view class='header_l'>
    <icon type='search'></icon>
   </view>
    <view class='header_c'>
     <text space="emsp" decode='true' style="font-size:31rpx;">  推荐  </text>
     <text  space="emsp" decode='true' style="font-size:19rpx;">  |  </text>
     <text  space="emsp" decode='true' style="font-size:25rpx;">  河北</text>
    </view>
     <view class='header_r'>
       <image src='../../img/scan.png'></image>
       <image src='../../img/live.png'></image>
     </view>
</view>
<!-- 滑块视图容器 vertical纵向 autoplay不自动切换 indicator-dots不显示面板 -->
<swiper vertical='true' autoplay='' indicator-dots="" style='height:{{widowHeight}}px;'>
  <!-- <swiper-item>每个单元滑动容器 -->
  <swiper-item wx:for="{{play}}" wx:key="">
    <view class='right'>
      <view>
      <image src='{{item.avatar}}' class='avatar'></image>
      <image src='../../img/follow.png' style='width:30rpx;height:30rpx;'></image>
      </view>
      <view>
        <image src="../../img/love.png" class='r_img'></image>
        <view class='text'>{{item.zan}}</view>
          <image src="../../img/forwa.png" class='r_img'></image>
        <view class='text'>{{item.msg}}</view>
          <image src="../../img/com.png" class='r_img'></image>
        <view class='text'>{{item.forward}}</view>
        <image class='img' src="{{item.song_url}}" animation='{{animationData}}'></image>
      </view>
    </view>
    <!-- 视频 -->
    <video class='mv' src='{{item.src}}'></video>
    <!-- 标题-内容-歌曲 -->
    <view style="position:fixed;left:30rpx;bottom:10rpx;z-index:999;color:#fff;font-size:28rpx;">
      <view style="margin-bottom:10rpx;">
        @<span style="font-size:35rpx;">{{item.title}}</span>
      </view>
      <view style='margin-bottom:10rpx;'>
        {{item.conten}}
      </view>
      <view class='box'>
         <view class='flex-box' style='left:{{posLeft2}}px'>
             <view id='txt3' class='txt'>{{item.song}}</view>
             <view class='txt' style="margin-left:{{marginLeft}}px">{{item.song}}</view>
         </view>
      </view>
    </view>
    <!-- 歌曲文字前面的抖音logo -->
      <image src='../../img/dou.png' style='width:20rpx;height:20rpx;position:fixed;bottom:40rpx;z-index:999;left:30rpx;'></image>
  </swiper-item>
</swiper>

运行实例 »

点击 "运行实例" 按钮查看在线实例

index.js文件

实例

//index.js
//获取应用实例
const app = getApp()
let roll_img,roll_word;
Page({  //data是页面第一次渲染使用的初始数据
  data: {
    play:[{
      id:1,     //视频id
      autoplay:false,  //定义视频是否自动播放
      iritial:0, //视频从多少秒开始播放
      src:'http://zhiyou.babydaigou.com//upload/7.mp4',//视频地址
      avatar:'https://img.php.cn/upload/avatar/000/126/153/5b592fa41732b439.jpg', //头像
      zan:'666',//点赞数
      msg:800,//评论数
      forward:90,//转发数
      title:'过儿',
      conten:'人生漫漫,苦海无边,回头是岸!',//发布内容
      song:'@过儿的原创歌曲', //使用歌曲
  song_url:'https://img.php.cn/upload/avatar/000/000/001/0cf3a808f8440a422206ce1975188334.jpg',//歌曲图旋转
      animationData:{}
    }
      
    ],
    windowHeight:0,  //屏幕可使用高度
    pace:1,  //滚动速度
    posleft2:0,  //水平滚动中left值
    marginLeft:30  //水平滚动中两条文本之间的间距
  },
  onLoad:function () {
    this.setData({ //setData函数用于将数据从逻辑层发送到视图层,同时改变对应的this.data的值(同步)
      widowHeight:wx.getSystemInfoSync().windowHeight//获取屏幕可使用高度
    })
    //创建动画
    var animation=wx.createAnimation({
      //创建小程序里的动画实例
      duration:'100000000',//动画持续时间
      timingFunciton:'linear'//匀速播放
    })
    //连续的动画需要添加一个定时器
    roll_img=setInterval(function(){
      animation.rotate(180*30000).step()//从原点旋转一个角度,旋转的角度,范围
      this.setData({
        animationData:animation.export()//导出动画队列
      })
    }
    .bind(this),500
    )
  },
  roll2:function(that,txtLength,windowWidth){
    roll_word = setInterval(function(){
      if(-that.data.posLeft2 < txtLength + that.data.marginLeft){
        that.setData({
          posLeft2:that.data.posLeft2 - that.data.pace
        })
      }else{  //第二段文字滚动到左边后重新滚动
        that.setData({
          posLeft2:0
        })
        clearInterval(roll_word);
        that.roll2(that,txtLength,windowWidth);
      }
    },20)
  },
  //显示页面就开始滚动
  onShow: function () {
    let that = this;
    let windowWidth = wx.getSystemInfoSync().windowWidth; //屏幕宽度
    wx.createSelectorQuery().select('#txt3').boundingClientRect(function(rect){
      let txtLength = rect.width; //文字+图标长度
      that.roll2(that,txtLength,windowWidth);
    }).exec()
  },
  //离开页面就停止滚动
  onHide:function(){
    clearInterval(roll_word);
  }
})

运行实例 »

点击 "运行实例" 按钮查看在线实例

 

index.wxss文件

实例

/**index.wxss**/
.header{
  position: fixed;
  top: 30rpx;
  left: 20rpx;
  z-index: 999;
}
.header_c{
  position: fixed;
  left: 260rpx;
  top:30rpx;
}
.header_r{
  position: fixed;
  right: 30rpx;
  top: 30rpx;
}
.header_r image{
  width:40rpx;
  height: 40rpx;
  margin-left: 25rpx; 
}
.right{
  position: fixed;
  right: 20rpx;
  bottom: 50rpx;
  width: 100rpx;
  text-align: center;
  z-index: 999;
}
.avatar{
  width: 80rpx;
  height: 80rpx;
  border-radius: 50%;
} 
.r_img{
  width:50rpx;
  height: 50rpx;
  margin-top:30px;
}
.text{
  font-size: 20rpx;
  color: #fff;
}
.img{
  width:100rpx;
  height: 100rpx;
  margin-top: 30rpx;
  border-radius: 50%;
}
.mv{
  width: 100%;
  height: 100%;
}
/* 轮动文字 */
.box{
  position: relative;
  width: 100%;
  height: 80rpx;
  line-height: 80rpx;
  overflow: hidden;
  margin-left: 30rpx;
}
.flex-box{
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  position: absolute;
  top: 0;
}
.txt{
  white-space: nowrap;
}
@keyframes roll{
  0%{left: 650rpx;}
  100%{left:-100%;}
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

 

app.json文件

实例

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs",
    "pages/index/follow",
    "pages/index/msg",
    "pages/index/me"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "抖音",
    "navigationBarTextStyle":"black"
  },
  "tabBar":{
    "backgroundColor":"#000",
    "color":"#ccc",
    "selectedColor":"#fff",
    "list":[ {
      "pagePath":"pages/index/index",
      "text":"首页"
      },
      {
        "pagePath": "pages/index/follow",
        "text": "关注"
      },
      {
        "pagePath": "pages/index/msg",
        "text": "+"
      },
      {
        "pagePath": "pages/index/msg",
        "text": "消息"
      },
      {
        "pagePath": "pages/index/me",
        "text": "我"
      }
    ]
  }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

weibo.png

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
张然 2019-05-09 18:40:18
有github的地址吗。或许完整的实例吗
1 floor
Author's latest blog post