项目一:小米官网

这个项目是模仿小米官方网站而展开设计的,其目的是为了锻炼html+css+javascript综合知识的使用
​ 本项目需结合HTML+CSS+JS等技术进行开发的一个综合项目。在本项目的开发中,需要结合的知识点有:

  • HTML
  • CSS
  • JS基础语法,对象,DOM增删查改,事件

开发页面

首页

根据小米官方主页面设计,下面是部分截图
在这里插入图片描述
在这里插入图片描述

主页面开发要求:

  1. 利用HTML、CSS技术实现主页布局;
  2. 实现导航栏中“下载App”,和“购物车”,的下拉效果
  3. 实现二级导航栏中商品显示效果
  4. 实现侧边导航栏中商品显示效果
  5. 轮播图效果

1. 利用HTML、CSS技术实现主页布局;

html+css代码并不困难,这里就直接跳过了

2. 实现导航栏中“下载App”,和“购物车”,的下拉效果

首先实现下载app的下拉效果

请添加图片描述
我们需要先获取相应的元素对象

html代码
 <li class="download">
    <a href="javascript:;">下载app</a>
    <div class="sanjiao"></div>
    <span class="code">
        <img src="images/xiaomi-android.png" alt="">
        <p>小米商城APP</p>
    </span>
 </li>

先从html中获取,因为我们是 鼠标经过(mouseenter) 相应的 li 时下拉出现二维码,接下来获取二维码部分,也就是span标签那部分,只有鼠标经过才会下拉出现,所以一开始在css代码中先用 display:none 先将span部分隐藏起来;在触发后再将它显示出来 ,还要再注册离开事件,将下拉出来的二维码收回去。

js
  var download = topnav.querySelector('.download');
    var sanjiao = topnav.querySelector('.sanjiao');
    var code = topnav.querySelector('.code');
      //下载app部分
    download.addEventListener('mouseenter', function () {
   
        clearInterval(timer);
        sanjiao.style.display = 'block';
        var timer = setInterval(function () {
   
            var x = (148 - code.offsetHeight) / 10;
            x = x > 0 ? Math.ceil(x) : Math.floor(x);
            code.style.height = code.offsetHeight + x + 'px';
            if (code.offsetHeight >= 148) {
   
                clearInterval(timer);
                timer = null;
            }
        })
    })
      download.addEventListener('mouseleave', function () {
   
        sanjiao.style.display = 'none';
        var timer1 = setInterval(function () {
   
            var x = (code.offsetHeight - 0) / 10;
            x = x > 0 ? Math.ceil(x) : Math.floor(x);
            code.style.height = code.offsetHeight - x + 'px';
            if (code.offsetHeight <= 0) {
   
                clearInterval(timer1);
            }
        })
    }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值