| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- import { getCategoryList } from '../../api/store.js'
- const app = getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- navlist: [],
- productList: [],
- navActive: 0,
- parameter: {
- navbar: '1',
- return: '0',
- title: '产品分类'
- },
- navH: '',
- number: ''
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (res) {
- this.getAllCategory()
- },
- infoScroll: function () {
- let that = this
- let len = that.data.productList.length
- that.setData({
- navH: app.globalData.navHeight,
- number: that.data.productList[len - 1].children.length
- })
- //设置商品列表高度
- wx.getSystemInfo({
- success: function (res) {
- that.setData({
- height: res.windowHeight * (750 / res.windowWidth) - 98 - app.globalData.navHeight
- //res.windowHeight:获取整个窗口高度为px,*2为rpx;98为头部占据的高度;
- })
- }
- })
- var height = 0
- var hightArr = []
- for (var i = 0; i < len; i++) {
- //productList
- //获取元素所在位置
- var query = wx.createSelectorQuery().in(this)
- var idView = '#b' + i
- query.select(idView).boundingClientRect()
- query.exec(function (res) {
- var top = res[0].top
- hightArr.push(top)
- that.setData({
- hightArr: hightArr
- })
- })
- }
- },
- tap: function (e) {
- var id = e.currentTarget.dataset.id
- var index = e.currentTarget.dataset.index
- this.setData({
- toView: id,
- navActive: index
- })
- },
- getAllCategory: function () {
- var that = this
- getCategoryList().then(res => {
- that.setData({
- productList: res.data
- })
- that.infoScroll()
- })
- },
- scroll: function (e) {
- var scrollTop = e.detail.scrollTop
- var scrollArr = this.data.hightArr
- for (var i = 0; i < scrollArr.length; i++) {
- if (scrollTop >= 0 && scrollTop < scrollArr[1] - scrollArr[0]) {
- this.setData({
- navActive: 0,
- lastActive: 0
- })
- } else if (scrollTop >= scrollArr[i] - scrollArr[0] && scrollTop < scrollArr[i + 1] - scrollArr[0]) {
- this.setData({
- navActive: i
- })
- } else if (scrollTop >= scrollArr[scrollArr.length - 1] - scrollArr[0]) {
- this.setData({
- navActive: scrollArr.length - 1
- })
- }
- }
- },
- searchSubmitValue: function (e) {
- if (e.detail.value.length > 0)
- wx.navigateTo({
- url: '/pages/goods_list/goods_list?searchValue=' + e.detail.value
- })
- else
- return app.Tips({
- title: '请填写要搜索的产品信息'
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {},
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {},
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {},
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {},
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {}
- })
|