小米商城左侧菜单布局和效果实现(分析+代码)

目录

效果展示

结构分析

菜单栏

内容盒子

JS实现

总结


效果展示

  • 左边菜单栏,鼠标经过菜单栏,对应的背景颜色会发生改变
  • 右边内容盒子,有一个边框宽度会随着显示的内容的而变化。
  • 鼠标经过左边的菜单栏,右边对应的盒子内容才会显示出来。

结构分析

菜单栏

用一个简单的 ul li 布局就行。

<ul class="b_nav"><li class="bnavli"><a href="#">手机 电话卡</a></li><li class="bnavli"><a href="#">电视 盒子</a></li><li class="bnavli"><a href="#">笔记本 平板</a></li><li class="bnavli"><a href="#">出行 穿戴</a></li><li class="bnavli"><a href="#">智能 路由器</a></li><li class="bnavli"><a href="#">健康 儿童</a></li><li class="bnavli"><a href="#">耳机 音响</a></li><li class="bnavli"><a href="#">智能 路由器</a></li><li class="bnavli"><a href="#">健康 儿童</a></li><li class="bnavli"><a href="#">耳机 音响</a></li>
</ul>

内容盒子

一个大的div盒子,由于有内容盒子的宽度要跟着内容的宽度而变化的效果,所以里面的内容是一列一列显示的,一列(一个ul)做的。里面的内容需要几列就复制几列就OK了,显示的文字图片内容自己修改修改。

!!!需要注意的一点:我们经过左边菜单栏,显示右边内容盒子,要是还想对内容盒子有其他的操作,比如想要鼠标可以点击里面的内容,那就一定要把内容盒子放到菜单栏对应的菜单栏里面。 

<div class="bncontainer"><!--需要几列就复制ul,内容自己修改一下-->                     <ul><li><a href="#"><img src="upload/Redmi Note 10 Pro.webp" alt=""><span>Redmi Note 10</span></a></li><li><a href="#"><img src="upload/Redmi Note 10 Pro.webp" alt=""><span>Redmi Note 10</span></a></li><li><a href="#"><img src="upload/Redmi Note 10 Pro.webp" alt=""><span>Redmi Note 10</span></a></li><li><a href="#"><img src="upload/Redmi Note 10 Pro.webp" alt=""><span>Redmi Note 10</span></a></li><li><a href="#"><img src="upload/Redmi Note 10 Pro.webp" alt=""><span>Redmi Note 10</span></a></li>         </ul>
</div>

JS实现

思路:设置最开始的内容盒子宽度为 0px,当鼠标经过以后,内容盒子的宽度就改变。

!!!获取变化的宽度=孩子的个数 X 一个孩子的宽度。

/* --左边导航栏右滑显示-- */
/* --获取元素-- */
var bnavlis = document.querySelectorAll('.bnavli');
var bncontainer = document.querySelectorAll('.bncontainer');for (var i = 0; i < bnavlis.length; i++) {bnavlis[i].setAttribute('data-index', i);bnavlis[i].addEventListener('mouseenter', function () {index = this.getAttribute('data-index');/* --获取变化的宽度=孩子的个数*其中一个孩子的宽度-- *//* --bncontainer[index]  返回的是对应的整个bncontainer-- */maxwidth = bncontainer[index].children.length*bncontainer[index].children[0].offsetWidth;bncontainer[index].style.width = maxwidth + 'px';bncontainer[index].style.borderColor = '#ccc';});bnavlis[i].addEventListener('mouseleave', function () {index = this.getAttribute('data-index');bncontainer[index].style.width = 0 + 'px';});
}

总结

这些效果都是常见的效果动图,只要弄懂一个就能举一反三,实现类似其他的效果。这里只分析了效果结构和JS实现,CSS修饰代码就不展示了(很简单的)。看完这篇,大家可以尝试去做一做小米商城上边导航栏的下滑效果,原理都一样,加油哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47671.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web端 小米商城网站总结

一 小米商城页面的分析 目前市面上主流的布局为float布局 , 本人通过flex布局实现了一遍 其中轮播图使用了swiper插件 图标使用了iconfont 尽可能的不使用定位 此为自我规划的结构分析 , 如图所示 二 小米商城搭建的细节 1 清楚整个页面的整体布局&#xff0c;先整体再局部…

vue+elementui实现app布局小米商城,样式美观大方,功能完整

目录 一、项目效果在线预览 二、效果图 1.首页效果图 2.分类&#xff0c;动态分类商品数据根据所属分类动态切换 3.购物车&#xff0c;动态添加购物车&#xff08;增、删、改、查&#xff09; 4.我的 5.登录注册 6.商品详情 7.搜索&#xff08;动态模糊搜索、搜索历史…

分析小米商城左侧菜单的布局和效果实现

小米左侧菜单如图&#xff1a; 也就是说&#xff0c;在没有点击左侧菜单的时候&#xff0c;背景是一个轮播图&#xff0c;一旦点击了左侧菜单&#xff0c;或者说鼠标在左侧菜单上滑动&#xff0c;那么就会触发左侧菜单的动画演示&#xff0c;这次就是来分析动画演示的具体是怎么…

前端项目 仿小米商城

这是本人入手前端以来第一个项目&#xff0c;不算简单也不算难都是一些很基础但在HTML和CSS中算是比较核心的东西&#xff0c;比如CSS中的定位&#xff0c;各种选择器都有所涉及。这次做的是一个商城首页&#xff0c;像这种类型的有很多都可以拿来练手&#xff0c;望大家指教&a…

百度设置小度机器人出现

一篇小干货&#xff0c;在浏览器中打开百度搜索 https://www.baidu.com/ 找到右上角设置按钮&#xff0c;点开 选择搜索设置&#xff0c;出现如图&#xff0c;我用的是firefox&#xff0c;不过浏览器不重要滴&#xff0c;大家可以用chrome或者其他都行 如果呢正常登陆了百度账…

小爱(小米),天猫精灵(阿里),小度(百度),小艺(华为)智能家居系统选择

现在的智能家居系统可谓群雄逐鹿,不少人在琳琅满目智能家居产品中选择时候,会陷入纠结,到底选择小米系比较好呢,还是选择阿里系好呢等等。针对此问题,那么现在就简单介绍一下目前主流的四种智能家居系统。 一、分类 首先从分类上,看看各个智能家居系统有什么区别。 1、…

使用微软New Bing Chat GPT-4生成AI图像的技巧

在聊天的创意模式中&#xff0c;你现在可以要求Bing为你创建一个全新的图像&#xff0c;只用你的话语。只需说 "为我创建一个图像 "或 "为我绘制一个图像"&#xff0c;最后准确地说出你要找的东西。当你的描述性更强时&#xff0c;Image Creator的效果最好…

数字孪生城市典型场景与应用案例(2020年)附下载

前言 数字孪生城市经过三年的概念培育期&#xff0c;目前已经步入落地实施阶段&#xff0c;各地不同程度地推进数字孪生城市规划建设和行业应用创新实践。中国信息通信研究院联合数字孪生城市生态圈合作伙伴&#xff0c;在推出《数字孪生城市白皮书 &#xff08;2020年&#xf…

数字孪生:数字世界与现实世界的交汇

数字孪生是一种崭新的技术&#xff0c;指将现实世界中的物理实体、系统或过程通过数字化技术在虚拟数字世界中建立起虚拟模型。数字孪生可以帮助人们以更小的成本地理解和预测现实世界中的物理实体、系统或过程的行为和性能&#xff0c;从而提高生产效率、降低成本、减少风险等…

数字孪生技术助力孪生新时代与智慧城市的整合

智慧城市是把新一代的信息技术灵活运用在城市中各个行业基于知识社会新一代创新&#xff08;创新2.0&#xff09;的城市信息化管理高等级形态&#xff0c;实现信息化、工业化与城镇化紧密结合&#xff0c;有利于缓解“大城市病”&#xff0c;提升 城镇化品质&#xff0c;实现精…

数字孪生主题汇总 2023-03-24

数字孪生是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越现实的概念&#xff0c;可以被视为一个或多…

数字孪生与元宇宙:数字化科技的双向融合之路

概念 &#xff08;1&#xff09;元宇宙&#xff08;Metaverse&#xff09;是一个虚拟的三维世界&#xff0c;由数字内容和物理世界中的现实空间相互交织而成&#xff0c;能够提供各种虚拟体验&#xff0c;例如虚拟现实、增强现实、虚拟社交、虚拟经济等。在元宇宙中&#xff0…

数字孪生发展阶段报告与背景规划,面临数字孪生机遇。

早在2003年&#xff0c;数字孪生思想就由密歇根大学的 Michael Grieves 命名为“信息镜像模型”&#xff08;Information Mirroring Model&#xff09;&#xff0c;而后演变为“数字孪生”的术语。 数字孪生发展阶段报告与背景规划&#xff0c;面临数字孪生机遇。 北京智汇云舟…

数字孪生:连结现实与数字世界

作者&#xff1a;德勤洞察 来源&#xff1a;《软件与集成电路》2020年第5期 试想一下&#xff0c;你拥有一个现实世界的完美数字副本&#xff1a;数字孪生。它可以帮助你开展虚拟协作&#xff0c;快速获取传感器数据并模拟条件&#xff0c;清楚地了解假设情景&#xff0c;更能精…

干货分享——数字孪生应用与现实世界的虚实交互

数字孪生技术是实现行业数字孪生应用的基础&#xff0c;能够基于真实地理信息&#xff0c;集合物理世界 各种要素&#xff0c;通过计算机实时渲染生成的可交互三维仿真场景&#xff0c;实现物理世界对象在数据世界 中完成精准映射、真实重现。 通过数字孪生与实际业务的紧密…

现代版的大案牍术:数字孪生在城市的应用

来源&#xff1a;阿里研究院 最近大火的电视剧《长安十二时辰》中&#xff0c;靖安司大规模启用秘密核武器——大案牍术&#xff0c;书吏们从各个部门汇总来的人员往来、钱粮货物流水中寻找到蛛丝马迹甚至未卜先知&#xff0c;再结合长安版的5G通讯——望楼通信与大沙盘&#x…

数字孪生的主要应用领域

老于笔记03.07 与其取悦别人&#xff0c;不如快乐自己&#xff0c;能把困苦的生活&#xff0c;活出诗意&#xff0c;把薄情的世界活出深情&#xff0c;这才是本事。 前言 上篇文章介绍了数字孪生相关的知识&#xff0c;自数字孪生概念提出以来&#xff0c;已经被广泛应用到各领…

数字孪生助力城市智慧化发展的意义与前景

从上世纪80年代开始&#xff0c;城市的智慧化发展就进入了一个快车道。 在我国&#xff0c;自2015年开始&#xff0c;国家提出了智慧城市的概念后&#xff0c;各地纷纷开始建设并开展智慧城市的试点工作&#xff0c;截止到2020年底&#xff0c;我国已经有超过100个城市发布建设…

数字孪生重点商业实践展示

数字孪生是一个系统或一组对象的虚拟表示。数字孪生背后的技术旨在准确反映系统的生命周期和应用程序&#xff0c;并使用机器学习、模拟和人工智能的组合来帮助在现实生活中运行之前对使用、问题或效率进行建模。如今&#xff0c;数字孪生技术的爆火离不开人们对其商业价值的看…

数字孪生赛博朋克风格智慧城市

霓虹之下的机械义肢&#xff0c;孤独黑客的代码觉醒&#xff0c;隐匿于雨夜的反叛灵魂…这些具有独一无二锐利感的画面&#xff0c;让“赛博朋克”这个起源自80年代的文化命题已经从小众文化火出圈&#xff0c;渗透至主流社会跃升为审美时尚。 智慧城市 图扑也同样在践行这种…