0


折磨我一个周的小米官网——小米侧边栏


前言

  1. 小编历时一个星期的艰苦奋斗,终于在第七天的末尾结束了小米官网的折磨。这段时间是真的难熬。当然小编也对JavaScript的用法以及理解层度,有了一定的提高。庞大的收获总是伴随着艰苦的学习过程,当你度过了艰苦的学习过程,你的收获一定大于你的付出。

小米官网侧边栏

效果展示

小米侧边栏

  • 鼠标经过导航栏,导航栏会进行字体/背景颜色变换,左边页面显示
  • 鼠标经过不同的导航栏,左边页面会弹出不同的页面进行切换
  • 鼠标离开导航栏,左边页面会进行隐藏

html结构代码

  1. <div class="banner-nav">
  2. <li><a href="JavaScript:;">手机</a></li>
  3. <li><a href="JavaScript:;">电视</a></li>
  4. <li><a href="JavaScript:;">笔记本</a>&nbsp;<a href="JavaScript:;">平板</a></li>
  5. <li><a href="JavaScript:;">家电</a></li>
  6. <li><a href="JavaScript:;">出行</a>&nbsp;<a href="JavaScript:;">穿戴</a></li>
  7. <li><a href="JavaScript:;">智能</a>&nbsp;<a href="JavaScript:;">路由器</a></li>
  8. <li><a href="JavaScript:;">电源</a>&nbsp;<a href="JavaScript:;">配件</a></li>
  9. <li><a href="JavaScript:;">健康</a>&nbsp;<a href="JavaScript:;">儿童</a></li>
  10. <li><a href="JavaScript:;">耳机</a>&nbsp;<a href="JavaScript:;">音响</a></li>
  11. <li><a href="JavaScript:;">生活</a>&nbsp;<a href="JavaScript:;">箱包</a></li>
  12. </div>
  1. 大家可以根据自己喜欢的方式来布局,不一定要和我这个一样,这个是导航栏的布局。相信这个对大家来说还是很简单的。
  2. 左边出现那个盒子的代码结构代码就很多了,小编我给大家说一下我自己的一个思路好了。大家可以自己去试一下。
  3. 小编我是把左边那个盒子利用绝对定位进行定位到导航栏的左边的,我设置了一个高度和导航栏一样高度的盒子。因为要做不同的页面所以我在里面再次放了很多个盒子,每个盒子里面的内容都是不一样的,但是他们的样式都是相同的,他们里面内容的结构都是一样的。与其说切换的是内容不如说是切换的是盒子。里面每个盒子的结构是这样的,我在盒子里面又放了四个盒子,给四个盒子设置浮动让他们并排显示,当然他们的宽度是父盒子的四分之一,高度肯定是和父盒子一样高,然后在给四个盒子里面都放上li标签,每个盒子放六个小li,最后在加上你们需要的内容就可以了。

样式代码

  1. .main .banner-nav {
  2. float: left;
  3. width: 234px;
  4. height: 100%;
  5. padding-top: 10px;
  6. background-color: rgba(63, 61, 61);
  7. }
  8. .main .banner-nav li {
  9. width: 100%;
  10. height: 42px;
  11. line-height: 42px;
  12. padding: 4px 0 4px 20px;
  13. position: relative;
  14. }
  15. .main .banner-nav li a {
  16. color: #fff;
  17. font-size: 14px;
  18. text-decoration: none;
  19. }
  20. .main .banner-nav li::after {
  21. position: absolute;
  22. right: 20px;
  23. top: 14px;
  24. content: '';
  25. display: inline-block;
  26. width: 10px;
  27. height: 10px;
  28. border-top: 2px solid #fff;
  29. border-right: 2px solid #fff;
  30. transform: rotate(45deg);
  31. }
  32. .main .banner-nav li:hover {
  33. background-color: rgba(255, 106, 0);
  34. }

JS代码解析

  1. var bannernav = document.querySelector('.banner-nav');
  2. var bannernavlis = bannernav.querySelectorAll('li');
  3. var bannerbox = document.querySelector('.banner-box');
  4. var childbox = bannerbox.querySelectorAll('.childbox');
  5. for (var j = 0; j < bannernavlis.length; j++) {
  6. bannernavlis[j].setAttribute('index', j);
  7. bannernavlis[j].addEventListener('mouseenter', function() {
  8. var index = this.getAttribute('index');
  9. bannerbox.style.display = 'block';
  10. for (var i = 0; i < childbox.length; i++) {
  11. childbox[i].style.display = 'none';
  12. }
  13. childbox[index].style.display = 'block';
  14. });
  15. bannernavlis[j].addEventListener('mouseleave', function() {
  16. bannerbox.addEventListener('mouseenter', function() {
  17. bannerbox.style.display = 'block';
  18. });
  19. bannerbox.addEventListener('mouseleave', function() {
  20. bannerbox.style.display = 'none';
  21. });
  22. bannerbox.style.display = 'none';
  23. });
  24. }

总结

  1. 在辛苦的同时总是伴随着意想不到的收获,再多的困难努力克服之后都将成为你以后成功的经验。努力的付出都会给你等同或者超越你付出的收获。大家一起努力啊!

标签: javascript html css

本文转载自: https://blog.csdn.net/chnnds/article/details/122200660
版权归原作者 chnnds 所有, 如有侵权,请联系我们删除。

“折磨我一个周的小米官网&mdash;&mdash;小米侧边栏”的评论:

还没有评论