首页 > 其他分享 >用quasar+vue3+组合式api 实现小米商城标题栏动画

用quasar+vue3+组合式api 实现小米商城标题栏动画

时间:2023-04-11 12:14:00浏览次数:45  
标签:index 菜单 container name quasar 标题栏 api menu path

先来看一下小米商城标题栏动画:

 

 

小米商城标题栏动画主要特点:

  1. 移入时二级菜单缓慢出现;
  2. 移出时二级菜单缓慢消失;
  3. 在一级菜单之间移动时,二级菜单内容直接切换,没有过渡效果。

实现思路

一、纯css实现(❌)

首先肯定是考虑 :hover,但是经过试验发现,:hover 可以实现鼠标移入移出时的过渡效果,但在一级菜单之间移动时,二级菜单总是有过渡效果。

纯css代码:

  1 <script setup>
  2 import { ref } from "vue";
  3 
  4 const titles = ref([
  5   {
  6     name: "小米商城", path: "", children: []
  7   },
  8   {
  9     name: "Xiaomi手机", path: "", children: [
 10       { name: "小米13", path: "" },
 11       { name: "小米13Pro", path: "" },
 12       { name: "小米11 青春活力版", path: "" },
 13     ]
 14   }, {
 15     name: "Redmi手机", path: "", children: [
 16       { name: "红米 K60", path: "" },
 17       { name: "红米 12C", path: "" },
 18       { name: "红米 Note 12", path: "" },
 19     ]
 20   },
 21   {
 22     name: "电视", path: "", children: [
 23       { name: "智能电视X65", path: "" },
 24       { name: "小米透明电视", path: "" },
 25       { name: "小米电视 大师 77", path: "" },
 26       { name: "小米电视 大师 65英寸", path: "" },
 27     ]
 28   },
 29   {
 30     name: "笔记本", path: "", children: [
 31       { name: "Xiaomi BookAir 13", path: "" },
 32       { name: "Xiaomi Book Pro14", path: "" },
 33     ]
 34   }
 35 ])
 36 
 37 </script>
 38 
 39 <template>
 40   <q-page>
 41     <header class="row q-pa-lg bg-grey justify-center">
 42       <div class="container row justify-center bg-yellow">
 43         <!-- 一级标题 -->
 44         <div class="menu text-h5 col text-center" v-for="menu in titles" :key="menu.name">
 45           <span>{{ menu.name }}</span>
 46           <!-- 二级标题 -->
 47           <ul class="sub-menu row justify-center bg-green">
 48             <li class="q-ma-lg" v-for="submenu in menu.children" :key="submenu.name" @click="clickSubmenu(submenu)">
 49               {{ submenu.name }}
 50             </li>
 51           </ul>
 52         </div>
 53       </div>
 54     </header>
 55 
 56     <div>
 57       <h4 class="text-center">模拟小米官网titlebar动画</h4>
 58       <ul class="text-body1">动画特点如下:
 59         <li>鼠标从container外部移入任意一级菜单(有children)时,显示二级菜单(有过渡效果)</li>
 60         <li>鼠标从一级菜单(有children)移出container时,二级菜单消失(有过渡效果)</li>
 61         <li>鼠标从一级菜单(有children)移入一级菜单(无children)等同于移出container:二级菜单消失(有过渡效果)</li>
 62         <li>--------------- 以上可以用 纯css 实现 

标签:index,菜单,container,name,quasar,标题栏,api,menu,path
From: https://www.cnblogs.com/sunshine233/p/17305715.html

相关文章

  • AI 绘画 API 超详细使用教程 - 附微信小程序接入代码
    写在前面【AI绘画/AI图像生成】已成为现下炙手可热的话题,AI大模型训练的成本高昂,算法研究时间周期较长,对于大多数人来说,自研一套算法模型还是非常困难的,因此AI绘画API就应运而生,直接调用AI绘画API就能轻松将先进的图文AI融入到我们的产品中,使用门槛是非常低的。 本......
  • 淘宝/天猫添加到购物车 API 接口返回值说明
       通过针对商品加购的分析,可以获取商品在市场的转化率,同时能够通过分析来提升商品的购买率,这一提取源数据也被叫做数据挖掘(DataMining),数据挖掘就是从大量的数据中,提取隐藏在其中的,事先不知道的、但潜在有用的信息的过程。数据挖掘的目标是建立一个决策模型,根据过去的行动......
  • 金蝶云星空-API调用-物料
    最近开始学习了云星空的标准API调用模式,直接上最近的学习心得:物料信息更新:应用场景时物料审核后,有些字段信息需要异构系统进行修改BOS系统内部把需要变更的字段权限放开,具体操作如下:    2.调用标准API时候需要注意的事项更新操作必须传入物料的......
  • uniapp小程序使用高德地图api实现路线规划
    uniapp小程序使用高德地图api实现路线规划 Postedon 2023-01-1011:18  书中枫叶 阅读(1387) 评论(3)  编辑  收藏  举报路线规划简介路线规划常用于出行路线的提前预览,我们提供4种类型的路线规划,分别为:驾车、步行、公交和骑行,满足各种的出行场景。高德开放......
  • Android 短视频和图片无读写权限TargetApi>=29解决方案
    一、背景        目前很多公司在适配API29,也就是targetSdkVersion=29的权限适配。不仅是权限的适配,还有政策的要求。目前就有很多大公司已收到工信部要求,不给读写权限:android.permission.WRITE_EXTERNAL_STORAGE和android.permission.READ_EXTERNAL_STORAGE      ......
  • ASP.NET Web API]如何Host定义在独立程序集中的Controller
    原文:https://www.cnblogs.com/artech/p/custom-assembly-resolver.html通过《ASP.NETWebAPI的Controller是如何被创建的?》的介绍我们知道默认ASP.NETWebAPI在SelfHost寄宿模式下用于解析程序集的AssembliesResolver是一个DefaultAssembliesResolver对象,它只会提供当前应用程......
  • YApi——Swagger
    YApiYApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护API,YApi还为用户提供了优秀的交互经验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。YApi让接口......
  • 使用浏览器api操作本地文件 File System Access API
    学习新的浏览器api:showOpenFilePicker,showDirectoryPicker,getDirectoryHandle,getFileHandle,removeEntry之前文件上传使用的是:<inputtype="file">今天看到直接使用浏览器api即可实现文件读取,文件删除,写入等,局限性:需要https环境,如果是本地localhost不受此限制。不能在ifr......
  • Solution Set - APIO2013
    目录A.机器人B.道路费用C.出题人A机器人key:点击查看代码B道路费用key:点击查看代码C出题人提交答案题。key:点击查看代码......
  • WebAssembly 助力云原生:APISIX 如何借助 Wasm 插件实现扩展功能?
    本文将介绍Wasm,以及ApacheAPISIX如何实现Wasm功能。作者朱欣欣,API7.ai技术工程师原文链接什么是WasmWasm是WebAssembly的缩写。WebAssembly/Wasm是一个基于堆栈的虚拟机设计的指令格式。在Wasm未出现之前,浏览器中只能支持运行Javascript语言。当Wasm出现......