我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript如何实现仿小米商城官网页面

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript如何实现仿小米商城官网页面

这篇文章主要介绍了JavaScript如何实现仿小米商城官网页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、首页的制作

JavaScript如何实现仿小米商城官网页面

首页的主要效果有如下几个:

下载APP、购物车的制作两个导航栏的制作轮播图的制作

当我们把布局大致完成后,就需要开始使用JavaScript处理细节了。

1.下载APP的制作

JavaScript如何实现仿小米商城官网页面

这里需要一个怎样的效果呢,当鼠标移动到下载app时,下载二维码出现,移出消失。这跟我们之前做的很多效果都一样,但他特别吗?他特别。特别就特别在这个出现和消失都有一个动画效果。那么小米原版到底为什么那么丝滑呢?在纠结到底使用display属性还是动画时,突然想到一个很巧妙的属性!我们可以变化这个盒子的高度,搭配过渡效果和overflow:hidden属性,让效果直接拉满。

但是这里会有一个坑在里面。上面这个小三角,我们可以使用边框来做,然后定位在这个盒子外面。如果我们将这个小三角以这个二维码盒子(.download)里面的话,我们定位的top值为负,即会超出盒子,一旦超出就会隐藏掉,所以我们只能把小三角放在外面,然后定位到盒子上方,再配合display属性,完成效果。描述起来可能不太直观,上代码!

html代码:

   <li id="download">       <a href="#" rel="external nofollow"  rel="external nofollow" >下载APP</a>       <i></i>       <div class="download">             <a href="#" rel="external nofollow"  rel="external nofollow" >             <img class="lazy" data-src="./image/主页图片/xiaomi-android.png" alt="">                 小米商城APP             </a>       </div>  </li>

css代码:(less版)

 li {            float: left;            padding:8px;            padding-right: 0;                 a {                    display: block;                    height: 15px;                    text-align: center;                    padding-right: 8px;                    border-right:1px solid #423c37 ;                    font-size: 8px;                    color: #b0b0b0;                    &:hover {                         color: #fff;                         }                }             }            #download {                position: relative;                width: 68px;                i {                    display: none;                    position: absolute;                    top: 20px;                    left: 25px;                    width:0;                    height:0;                    border-color:  transparent transparent white transparent;                    // border-color:transparent #ccc transparent  transparent;                    border-style:solid;                    border-width:8px;                    z-index: 9;                                   }                       .download {                position: absolute;                top: 16px;                left: -28px;                margin-top: 20px;                width: 130px;                height: 0;                overflow: hidden;                box-shadow: 0px 1px 5px #aaa;                // border:1px solid #ccc;                background-color: #fff;                transition: height .3s;                z-index: 999;                 a {                    font-size: 14px;                    color: #000;                    border: 0;                    &:hover {                        color: #000;                    }                    img{                        display: block;                        width: 100px;                        height: 100px;                        margin: 15px;                    }                 }            }            }

js代码:

  var APP = this.document.getElementById('download')  var download = this.document.querySelector('.download');    APP.addEventListener('mouseenter', function () {    download.style.height = 160 + 'px';    APP.children[1].style.display = 'block';   });  APP.addEventListener('mouseleave', function () {    download.style.height = 0;    APP.children[1].style.display = 'none';   });

注:该代码并不是完整代码可能导致无法运行,仅供参考

购物车也是同理制作。

2.导航栏的制作

JavaScript如何实现仿小米商城官网页面

JavaScript如何实现仿小米商城官网页面

导航栏这个盒子我们也可以和上面一样,搭配高度完成,这个的主要点就是,当我们触摸上方的某一个导航栏,下面就会出现对应的商品栏,同时我们可以触摸这个商品栏里面的任何一个元素,而当鼠标移动到导航栏外面就会让商品栏消失。

看到这个效果我第一眼想的这不和tab栏切换一样么,把鼠标点击事件变成鼠标移入移出事件不就行了?但我属实还是想的太少,当鼠标移出导航栏想要去到商品栏时,商品栏会直接消失,那效果就是只能看不能摸。所以我们只能把商品栏写入对应的导航栏里面,就像这样。

JavaScript如何实现仿小米商城官网页面

对应的图:

JavaScript如何实现仿小米商城官网页面

接下来的事情就变得简单起来,改改样式,换换内容,把剩下的js代码补充上。

3.轮播图的制作

轮播图的方面,我们可以使用swiper插件直接编写。

网址:Swiper中文网-轮播图幻灯片js插件,H5页面前端开发

在效果演示中选择一套自己喜欢的模板套上去,修修改改,比自己写代码要省事不少呢!既然有这种能够加开发的插件,我们当然要用起来!

JavaScript如何实现仿小米商城官网页面

二、登录、注册页面的制作

JavaScript如何实现仿小米商城官网页面

这个页面我做的时候是将左边固定定位,右边margin值挤过去的,但是后来验收的时候发现布局其实不够简洁,我们可以直接左右布局,将左边的图片使用百分比布局就好。

1.盒子布局

这个页面的核心内容就是中间的盒子,因为注册登录页面写在同一个页面里,那么他们的局部应该如下图:

JavaScript如何实现仿小米商城官网页面

让两个盒子并排放置,当我们点击上面的登录/注册时,下面的盒子做动画切换效果。

JavaScript如何实现仿小米商城官网页面

2.复选框样式更改

有关复选框更改样式,在网上查看到的方法中,有一个方法让我大为震惊!那就是再书写一个盒子,盖在原有的复选框上面。

JavaScript如何实现仿小米商城官网页面

我当时看到这个方法是满脑子问号,但别说,真实有效。代码见下:

 #checkbox {                    width: 20px;                    height: 20px;                    display: inline-block;                    color: #ff6900;                    margin: 0;                      font-size: 14px;                                         }                input[type=checkbox]{                    width: 20px;                    height: 20px;                    margin-top: 2px;                    position: relative;                }                input[type=checkbox]::after {                    position: absolute;                    top: 0;                    color: #000;                    width: 20px;                    height: 20px;                    display: inline-block;                    visibility: visible;                    padding-left: 0px;                    text-align: center;                    content: ' ';                    // border-radius: 3px;                }                input[type=checkbox]:checked::after {                    content: "✓";                    color: #fff;                    font-size: 10px;                    line-height: 20px;                    background-color: rgb(255, 105, 0)  ;                }

三、页面跳转

到这里两个页面其实搭建的也差不多了,剩下的事情,就是把两个页面串起来。这时候我们就要用到BOM对象中的location属性了。(忘记的可以去前几篇博客查看相关用法哦~)。

当我们点击登录按钮会跳转到登录板块,点击注册会跳转到注册板块,但问题是登录注册是一个页面呀,所以我们这时候就要传递参数,判断我们到底点击了哪个按钮。

点击前:

JavaScript如何实现仿小米商城官网页面

点击后:

JavaScript如何实现仿小米商城官网页面

JavaScript如何实现仿小米商城官网页面

中的?login就是我们传递过去的参数。我们将注册登录由a链接换成提交按钮(表单),当我们点击时,获取当前按钮的value值,并将这个值用变量存起来,在跳转时,将跳转地址和参数都传递过去,在注册页面获取刚传递过来的参数值,根据参数来进行操作。看代码!

html代码:

 <form action="#">           <input type="submit" value="登录" name="login" id="indexDL">           <input type="submit" value="注册" name="register"id="indexZC">     </form>

index页面的js:

 var indexDL = this.document.getElementById('indexDL');  var indexZC = this.document.getElementById('indexZC');  var temp1 = null;  var temp2 = null;  indexDL.addEventListener('click', function () {    temp1 = indexDL.name;    var newurl = 'login.html';    // window.location.href = newurl;    // window.location.assign(newurl);    window.event.returnValue = false    window.location.href = 'login.html' + '?' + temp1;    //  console.log(temp1);  });  indexZC.addEventListener('click', function () {    temp2 = indexZC.name;    window.event.returnValue = false;    window.location.href = 'login.html' + '?' + temp2;  });

作用是传递参数。

login页面的js:

var temp3  = window.location.search.substr(1);    if(temp3 === 'register'){        ZC.click();       }

作用是剪切字符串,并且判断是否为我们想要的参数。

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript如何实现仿小米商城官网页面”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript如何实现仿小米商城官网页面

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript如何实现仿小米商城官网页面

这篇文章主要介绍了JavaScript如何实现仿小米商城官网页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、首页的制作首页的主要效果有如下几个:下载APP、购物车的制作
2023-06-25

JavaScript仿小米如何实现球体分解动画

这篇文章主要讲解了“JavaScript仿小米如何实现球体分解动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript仿小米如何实现球体分解动画”吧!演示用过小米手机的应该见过
2023-07-02

Java如何实现小蜜蜂扩音器网上商城系统

这篇文章主要介绍Java如何实现小蜜蜂扩音器网上商城系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、项目简述用户功能模块: 用户注册: 用户登录:商品模块:订单模块;后台管理系统功能:管理员模块: 商品模块:订
2023-06-29

JavaScript如何实现网页五子棋小游戏

这篇文章主要介绍“JavaScript如何实现网页五子棋小游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现网页五子棋小游戏”文章能帮助大家解决问题。设计思路如下:1.先
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录