iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >小程序如何自定义索引菜单
  • 416
分享到

小程序如何自定义索引菜单

2023-07-02 18:07:12 416人浏览 独家记忆
摘要

本文小编为大家详细介绍“小程序如何自定义索引菜单”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义索引菜单”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。<view class=&qu

本文小编为大家详细介绍“小程序如何自定义索引菜单”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义索引菜单”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

小程序如何自定义索引菜单

<view class="indexes_chunk" wx:for="{{brandIndexList.brandGroupList}}" wx:key="item">     <view class="letter ancehor-{{item.indexLetter}}">{{item.indexLetter}}</view>     <view class="choice" wx:for="{{item.brandList}}" wx:for-item="items" wx:key="items" wx:for-index="cindex">          <text class="text actives">{{items.enName}}{{items.cnName}}</text>          <text class="iconfont icon-Gouxuan"></text>   </view></view>

主要代码:

function throttle(fn, interval) {    var enterTime = 0;//触发的时间    var gapTime = interval || 300 ;//间隔时间,如果interval不传,则默认300ms    return function() {      var context = this;      var backTime = new Date();//第一次函数return即触发的时间      if (backTime - enterTime > gapTime) {        fn.call(context,arguments);        enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间      }    };};data:{      brandIndexList:{            brandGroupList:[                {                    brandList:[                        {brandId:1, cnName: "爱马仕A", enName: "Hermes", indexLetter: "A"}                    ],                    indexLetter: "A"                },                {                    brandList:[                        {brandId:2, cnName: "爱马仕B", enName: "Hermesss", indexLetter: "B"}                    ],                    indexLetter: "B"                },                {                    brandList:[                        {brandId:3, cnName: "爱马仕G", enName: "Hermes", indexLetter: "G"}                    ],                    indexLetter: "G"                },                {                    brandList:[                        {brandId:4, cnName: "爱马仕M", enName: "Hermesss", indexLetter: "M"}                    ],                    indexLetter: "M"                },                {                    brandList:[                        {brandId:5, cnName: "爱马仕P", enName: "Hermesss", indexLetter: "P"}                    ],                    indexLetter: "P"                },                {                    brandList:[                        {brandId:6, cnName: "爱马仕V", enName: "Hermesss", indexLetter: "V"}                    ],                    indexLetter: "V"                }            ],            indexLetterList: ["A", "B", "G", "M", "P", "V"]        },   letternodes:[],//索引菜单 全部节点位置   letterIndex:0,}  onReady(){             let self = this;        let indexLetterList = self.data.brandIndexList.indexLetterList,            letterNodes = self.data.letterNodes,            nodes = '.ancehor-',            arrs = [];            // 获取所有索引锚点节点            indexLetterList.forEach((item)=>{                arrs.push(nodes+item);                if(arrs.length == indexLetterList.length){                    self.getDoms(arrs.join(','),(res)=>{                        letterNodes = res.map((item)=>{return item.top-88});                        self.setData({                            letterNodes:letterNodes                        });                    });                    wx.hideLoading();                }            });    },    // 动态获取节点     getDoms(node,success){        let self = this,            query = wx.createSelectorQuery();            setTimeout(()=>{                query.selectAll(node).boundinGClientRect((res)=>{                    success && success(res);                }).exec()            },1000);    },     // 索引菜单点击滚动    letterClick(e){        let self = this,            index = e.currentTarget.dataset.index,            letterNodes = self.data.letterNodes;            wx.pageScrollTo({                scrollTop: letterNodes[index]            })    },     // 页面滚动    onPageScroll:throttle(function(e){     let self = this,         scrollTop = e[0].scrollTop,         stickyTop = self.data.stickyTop,         letterNodes = self.data.letterNodes,         showSticky = self.data.showSticky,         letterIndex = self.data.letterIndex;        // 显示右侧索引        if(scrollTop>=stickyTop){            showSticky = true;        }else{            showSticky = false;        }        //滚动定位索引        letterNodes.forEach((item,index)=>{            if(scrollTop>=item){                letterIndex = index;                // console.log(index)            }        })              // console.log(scrollTop)        self.setData({            showSticky:showSticky,            letterIndex:letterIndex        });    },10)

读到这里,这篇“小程序如何自定义索引菜单”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: 小程序如何自定义索引菜单

本文链接: https://www.lsjlt.com/news/343783.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 小程序如何自定义索引菜单
    本文小编为大家详细介绍“小程序如何自定义索引菜单”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义索引菜单”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。<view class=&qu...
    99+
    2023-07-02
  • 小程序自定义索引菜单
    本文实例为大家分享了小程序自定义索引菜单的具体代码,供大家参考,具体内容如下 <view class="indexes_chunk" wx:for="{{brandIndex...
    99+
    2024-04-02
  • 微信小程序如何实现字母索引菜单
    本篇内容介绍了“微信小程序如何实现字母索引菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!wxml文件<view clas...
    99+
    2023-07-02
  • 如何自定义Ubuntu系统的引导菜单
    这篇文章主要为大家展示了“如何自定义Ubuntu系统的引导菜单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何自定义Ubuntu系统的引导菜单”这篇文章吧。Grub2是Ubuntu的默认引导工...
    99+
    2023-06-16
  • 微信小程序如何实现自定义菜单切换栏tabbar组
    这篇文章将为大家详细讲解有关微信小程序如何实现自定义菜单切换栏tabbar组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图:wxml代...
    99+
    2024-04-02
  • wpsvba如何自定义菜单栏
    这篇文章主要介绍“wpsvba如何自定义菜单栏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“wpsvba如何自定义菜单栏”文章能帮助大家解决问题。wpsvba自定义菜单栏的方法:vba插件中提供了菜...
    99+
    2023-07-04
  • 微信小程序实现字母索引菜单
    本文实例为大家分享了微信小程序实现字母索引菜单的具体代码,供大家参考,具体内容如下 wxml文件 <view class="container"> <view c...
    99+
    2024-04-02
  • 小程序如何自定义组件
    本文小编为大家详细介绍“小程序如何自定义组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 小程序提供了很多api和基础组件,但为减少代码的复...
    99+
    2023-06-26
  • 微信小程序自定义菜单导航实现楼梯效果
    设计初衷 在开发页面时,往往需要实现,点击页面的导航菜单页面滚动到相应位置,滚动页面实现菜单选项的高亮。在html开发中,我们可以用到a标签锚点实现,jq的动画相结合实现类似效果。在...
    99+
    2024-04-02
  • js如何自定义QQ菜单效果
    小编给大家分享一下js如何自定义QQ菜单效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!QQ菜单大家都见过,这样有以下的功能:...
    99+
    2024-04-02
  • 小程序自定义tabbar如何实现
    小编给大家分享一下小程序自定义tabbar如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tabBar如果小程序是一个多 tab 应用(客户端窗口的底部或顶...
    99+
    2023-06-26
  • 微信小程序如何自定义可搜索的picker组件
    本篇内容介绍了“微信小程序如何自定义可搜索的picker组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码:myPicker.wxml&...
    99+
    2023-07-02
  • JS如何实现自定义右键菜单
    这篇文章主要介绍了JS如何实现自定义右键菜单,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:<div id="...
    99+
    2024-04-02
  • javascript中如何自定义右键菜单插件
    这篇文章将为大家详细讲解有关javascript中如何自定义右键菜单插件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下1.使用方式js文件引入<scri...
    99+
    2024-04-02
  • 如何实现小程序的自定义组件
    要实现小程序的自定义组件, 需要以下步骤: 创建一个自定义组件的文件夹,例如 components/myComponent。 ...
    99+
    2024-04-17
    小程序
  • 微信小程序中如何自定义组件
    这篇文章将为大家详细讲解有关微信小程序中如何自定义组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在微信小程序开发过程中,对于一些可能在多个页面都使用的页面模块,可以把它封装成一个组件,以提高开发效率。...
    99+
    2023-06-29
  • 微信小程序如何自定义tabbar组件
    这篇文章主要讲解了“微信小程序如何自定义tabbar组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何自定义tabbar组件”吧!由于项目需求,必须自己写组件:第一步:在App...
    99+
    2023-06-14
  • 微信小程序中如何自定义样式
    在微信小程序中,可以通过以下几种方式自定义样式: 使用全局样式:在app.wxss文件中定义全局样式,然后在页面或组件中引用。全...
    99+
    2024-04-02
  • 微信小程序如何修改自定义input
    这篇文章主要介绍微信小程序如何修改自定义input ,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!说一下我做的input的原理 有两张图片 一张是未选中的(input.png)一张是已经选中的 (input_n.pn...
    99+
    2023-06-26
  • 微信小程序如何自定义导航栏
    小编给大家分享一下微信小程序如何自定义导航栏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CustomNavBar.wxml&l...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作