美文网首页前端jquery和 ajax
看,别人家的下拉菜单写得多好

看,别人家的下拉菜单写得多好

作者: 黄秀杰 | 来源:发表于2017-09-10 09:52 被阅读35次

站在前人的肩膀上,做了删改,原文出处http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1378

droplist.gif

feature:

1、支持下拉动画
2、当前选中项高亮
3、子菜单由二维数组构建
4、带背景遮罩

其中1、4两点,前人就已经写好了的。

说明

1、open一维数组保存着子菜单开合状态
2、show一维数组保存着子菜单激活状态
3、highlight二维数组保存着子菜单的点选index值

核心代码

下拉动画核心代码

@keyframes slidown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}

.slidown {
  display: block;
  animation: slidown .3s ease-in both;
}

高亮状态核心代码

    // 获取原高亮状态
    var highlight = this.data.highlight;
    // 消除兄弟亮亮
    highlight[naviIndex] = highlight[naviIndex].map(item => {
      return '';
    });
    // 设定当前高亮状态
    highlight[naviIndex][rowIndex] = 'highlight';
    // 存回高亮数组
    this.setData({
      highlight: highlight
    });

下拉抽屉核心代码

list: function(e) {
    var index = e.currentTarget.dataset.nav;
    var open = this.data.open;
    var isMasked = this.data.isMasked;
    var show = this.data.show;
    var naviIndex = this.data.naviIndex;
    for (var i = 0; i < this.data.menu.length; i++) {
      // 除当前元素外,其他元素一律取false
      if (i != index) {
        open[i] = false;
      }
      show[i] = false;
    }
    if (open[index] == true) {
      // 当前元素取反
      open[index] = false;
      isMasked = false;
      naviIndex = -1;
    } else {
      open[index] = true;
      isMasked = true;
      naviIndex = index
    }
    show[index] = true;
    this.setData({
      open: open,
      isMasked: isMasked,
      show: show,
      naviIndex: naviIndex
    });
  },

git地址

http://git.oschina.net/dotton/demo-wx中的子文件夹——下拉菜单

pay mp

相关文章

  • 看,别人家的下拉菜单写得多好

    站在前人的肩膀上,做了删改,原文出处http://www.wxapp-union.com/forum.php?mo...

  • TA说

    “你看别人家孩子成绩多好” “你看别人家孩子多会做家务” “你看别人家…” 多少童年是伴随着这些话成长起来的,仿佛...

  • 你是否活在“别人家”的阴影中

    小时候,你是否听过这样的批评? 看别人家的孩子学习多好,看别人家的孩子多懂事。你就是不如某某。…… 这些批评暂且定...

  • 花草

    下午,女儿对我说,爸爸,你看别人家的花开的多好看,我们家种的花,怎么都没开啊?…… 我说,别人家的...

  • 孩子不是天才,父母怎么做孩子的伯乐

    妈妈说,“你看别人家的孩子,多好学啊,年年考第一,再看看你。”妈妈说,“你看别人家的孩子,演讲比赛拿第一名”……许...

  • 别人

    小时候,妈妈总是说,看别人家的孩子起床有多早,学习有多好,帮助父母做家务多么多么利索……为了成为那个别人家的孩子,...

  • 好好待对方吧,别人家的恋人并没有你想的那么好

    我们可能都听过这句话:你看别人家的某某多好,再看看你。 小的时候会跟别人家的孩子比成绩,长大后比大学,工作后比工资...

  • 不觉得别人写得多好,也不觉得自己写得多差

    不觉得别人写得多好,也不觉得自己写得多差 有一位文友说:“不觉得别人写得多好,也不觉得自己写得多差。”我看了她写的...

  • 不管你多想红,文字表达要松弛

    最近看斯蒂夫金,看卡夫卡,看迟子建,看李碧华…...因为我觉得自己写得太烂,在简书,我像一头贵州的驴经常跑到别人家...

  • 别人家的媳妇

    婆婆很喜欢别人家的媳妇,总是在我面前说别人家的媳妇很好。 “你看恁干娘家的媳妇给恁干娘买的衣服多好看,给她买了好几...

网友评论

    本文标题:看,别人家的下拉菜单写得多好

    本文链接:https://www.haomeiwen.com/subject/jfrzjxtx.html