微信小程序 模仿拼多多搜索页

效果看拼多多的搜索页,先上张静态图
在这里插入图片描述

wxml

<!-- 搜索区 -->
<view class='search-box'>
  <icon class='iconfont icon-xiaokuku'></icon>
  <text>{{searchText}}</text>
</view>
<!-- 内容区 -->
<view class='con-wrapper'>
  <!-- 左侧 -->
  <scroll-view scroll-y scroll-top="{{scrollTop}}" scroll-with-animation class='con-wrap-boxLeft' style='height:{{scrHeight}}'>
    <view wx:for="{{searchTitle}}" id='{{index}}' class='con-wrap-boxLeft-item {{index==currentId ? "con-wrap-boxLeft-active" : ""}}' bindtap='leftClassifyTap'>
    <text id='{{index}}' class='con-wrap-boxLeft-itemTwo {{index==currentId ? "con-wrap-boxLeft-activeTwo" : ""}}' catchtap='leftClassifyTap'>{{item}}</text>
    </view>
  </scroll-view>
  <!-- 右侧 -->
  <scroll-view scroll-y scroll-into-view="{{scView}}" scroll-with-animation bindscroll='rigConScr' bindscrolltolower='scrLower' lower-threshold='20px' class='con-wrap-boxRight' style='height:{{scrHeight}}'>
    <view class='con-wrap-boxRight-item' wx:for="{{searchContent}}" id='c{{index}}'>
      <text class='left-title'>{{item.title}}</text>
      <navigator url='../checkAll/checkAll?datas={{item.title}}' class='rig'>
        <text >查看全部</text>
        <icon class='iconfont icon-chaoguo'></icon>
      </navigator>
      <view class='con-wrap-boxRight-classify'>
        <view class='classify' wx:for="{{item.content}}" wx:for-item="items">
          <icon class='iconfont {{items.ic}}'></icon>
          <view class='classify-font'>{{items.icname}}</view>
        </view>
      </view>
    </view>
  </scroll-view>
</view>

wxss

/* 搜索区 */
.search-box {
  width: 710rpx;
  height: 60rpx;
  margin: 0 20rpx 0 20rpx;
  padding: 0rpx 0rpx 10rpx 0rpx;
  border-radius: 16rpx;
  font-size: 26rpx;
  line-height: 60rpx;
  text-align: center;
  background-color: #efefef;
}
.search-box .icon-xiaokuku {
  color: #afafaf;
  padding-right: 10rpx;
}
.search-box text {
  color: #949494;
}
/* 内容区 */
.con-wrapper {
  border-top: 2rpx solid #e5e5e5;
  margin-top: 20rpx;
  width: 100%;
  font-size: 30rpx;
}
::-webkit-scrollbar {
  width: 0;
  height: 0;
  color: transparent;
}
.con-wrap-boxLeft {
  position: fixed;
  width: 186rpx;
  background-color: #f8f8f8;
}
.con-wrap-boxLeft-item {
  width: 186rpx;
  height: 110rpx;
  line-height: 110rpx;
  text-align: center;
}
.con-wrap-boxLeft-active {
  background-color: #fff;
  color: red;
}
.con-wrap-boxLeft-itemTwo {
  display: inline-block;
  width: 186rpx;
  height: 56rpx;
  line-height: 56rpx;
  margin: 27rpx 0 27rpx 0;
}
.con-wrap-boxLeft-activeTwo {
  border-left: 8rpx solid red;
}
.con-wrap-boxRight {
  margin-left: 186rpx;
  width: 564rpx;
}
.con-wrap-boxRight-item {
  position: relative;
  padding-top: 15rpx;
}
.rig {
  position: absolute;
  right: 24rpx;
  top: 13rpx;
  color: #929292;
  font-size: 30rpx;
}
.icon-chaoguo {
  margin-left: 10rpx;
}
.left-title {
  width: 80rpx;
  height: 100rpx;
  line-height: 80rpx;
  margin: 26rpx;
}
.con-wrap-boxRight-classify {
  padding-left: 46rpx;
  padding-top: 30rpx;
}
.classify {
  display: inline-block;
  width: 166rpx;
  height: 154rpx;
  text-align: center;
}
.classify .iconfont {
  font-size: 70rpx;
}
.classify-font {
  font-size: 26rpx;
  padding-top: 10rpx;
}

js

var searchTitle = ['女装','鞋包','母婴','男装','内衣','食品','百货','美女','手机','电器','家纺','家具','电脑','充值'];

var searchContent = [
  {
    title: '女装',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '鞋包',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '母婴',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '男装',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '内衣',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '食品',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '百货',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '美女',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '手机',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '电器',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '家纺',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '家具',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '电脑',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  },
  {
    title: '充值',
    content: [
      { ic: 'icon-naozhong', icname: '限时秒杀' },
      { ic: 'icon-yagaoyashua', icname: '每日清仓' },
      { ic: 'icon-chaoguo', icname: '多多矿场' },
      { ic: 'icon-shucai', icname: '一分抽奖' },
      { ic: 'icon-diaodai', icname: '食品超市' },
      { ic: 'icon-shejishi2', icname: '时尚穿搭' },
      { ic: 'icon-xiaokuku', icname: '天天红包' },
      { ic: 'icon-tangguo1', icname: '电器城' },
      { ic: 'icon-diaodai', icname: '食品超市' }
    ]
  }
];

Page({
  /**
   * 页面的初始数据
   */
  data: {
    searchText: '蓝牙耳机迷你',
    searchTitle: searchTitle,
    searchContent: searchContent,
    scrHeig: '1000rpx',
    currentId: 0,
    scrollTop: '0',
    scView: 'c0'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var ratio = wx.getSystemInfoSync().windowWidth/750;
    this.setData({
      scrHeight: wx.getSystemInfoSync().windowHeight/ratio-60-32+'rpx'
    }) 
  },
  leftClassifyTap: function (e) {
    var curId = e.target.id;
    if (curId < 5){
      this.setData({
        currentId: curId,
        scrollTop: '0',
        scView: 'c' + curId
      })
    }else{
      this.setData({
        currentId: curId,
        scrollTop: [0.5 + (curId - 5)] * 55,
        scView: 'c' + curId
      })
    }
  },
  rigConScr: function (e) {
    var that = this;
    var query = wx.createSelectorQuery();
    query.selectAll('.con-wrap-boxRight-item').boundingClientRect(function(res){
      res.forEach(function(item){
        if (item.top > 0 && item.top < 150) {
          var curId = item.id.substr(1);
          if (curId < 5) {
            that.setData({
              currentId: curId,
              scrollTop: '0'
            })
          } else {
            that.setData({
              currentId: curId,
              scrollTop: [0.5 + (curId - 5)] * 55
            })
          }
        }
      })
    }).exec();
  },
  scrLower: function () {
    var curId = this.data.searchTitle.length - 1;
    this.setData({
      currentId: curId,
      scrollTop: [0.5 + (curId - 5)] * 55
    })
  }
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
仿多多小程序商城源码 源码描述: 一、源码特点 1、精致电商,来客, [ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5,注重界面美感与用户体验,打造独特电商系统生态圈,不可多得的二开神器。 2、微信小程序电商平台(前后端开源PHP),包含分销,团,抽奖,红包,九宫格(老虎机)游戏等功能,整个系统架构非常简单,适合小型团队或者个人开发者二次开发。小程序 + APP + 公众号 + PC + 生活号 + 支付宝小程序 + 百度小程序 + 头条号小程序注重界面美感与用户体验,打造独特电商系统生态圈 二、菜单功能 1、 产品管理(产品分类管理、产品品牌管理、产品列表管理) 2、 订单管理(订单列表、评价管理、退货管理、订单设置、打印设置) 3、 用户管理(用户列表、用户信息修改) 4、 插件管理(插件列表、团活动、抽奖活动) 5、 财务管理(提现申请、提现列表、充值列表) 6、 优惠券管理(优惠券活动、优惠券列表) 7、 签到管理(签到活动、签到记录) 8、 拆红包管理(活动列表、拆红包记录) 9、 砍价管理(砍价商品、砍价记录) 10、 轮播图管理 11、 新闻管理(新闻分类、新闻列表) 12、 面管理 13、 公告管理(发布公告、公告列表、消息公告) 14、 系统管理(系统参数配置、推广图设置、热门关键词、管理员列表、新增管理员、权限设置) 15、 团活动(发布活动、活动列表) 16、 抽奖管理(发布活动、开奖管理) 17、 saas服务插件 18、 分销插件 19、 多店铺插件+独立商家APP 三、注意事项 1、开发环境为PHP5.6+ MYSQL5.5+ 自主研发框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值