# 仿京东移动端页面 **Repository Path**: jiangzetian/itheimaM ## Basic Information - **Project Name**: 仿京东移动端页面 - **Description**: 此为本人大二下学期所写项目,此项目属于纯移动端页面,Html5+css3进行布局,原生Javascript实现逻辑交互。页面风格京东移动端页面 - **Primary Language**: HTML - **License**: Not specified - **Default Branch**: master - **Homepage**: http://jiangzetian.gitee.io/itheimam - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-01 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- typora-root-url: ./ --- # 仿京东移动端页面 #### 介绍 本文作者:蒋泽天 码云首页:https://gitee.com/jiangzetian 此为本人大二下学期所写项目,此项目属于纯移动端页面,HTML5+CSS3进行布局,原生Javascript实现逻辑交互。页面风格京东移动端页面,页面总共三个页面,分别是首页,分类页,购物车页。 在线预览地址: http://jiangzetian.gitee.io/itheimam 本地预览方式:clone 至本地后,用浏览器打开index.html页面 #### 软件架构 HTML5 CSS3 Javascript #### 安装教程 1. git clone 仓库地址 2. 浏览器打开index.html文件 3. 浏览器页面按F12 设置为移动端模式 #### 项目功能 > 首页页面向下滚动,搜索框透明度会动态变化,滑动过banner后,透明度为1。 > > 首页页面banner图滚动,支持触屏交互。 > > 首页页面抢购栏目会有倒计时效果。 > > 购物车页面点击删除,会产生悬浮提示框,商品右下角垃圾桶盖子会打开。 #### 技术实现 1. **搜索框实现** html部分 ```html
``` js部分两块,一部分是公共js,一部分是index中的js。(这里只贴了index.js中的) ```js window.onload=function () { search(); banner(); downTime(); }; //根据高度调整搜索栏透明度 function search() { var searchBox=document.querySelector('.hm_header_box'); var bannerBox=document.querySelector('.hm_banner'); var h=bannerBox.offsetHeight; window.onscroll=function () { var top=document.body.scrollTop; var opacity=0; if (top ``` js部分两块,一部分是公共js,一部分是index中的js。(这里只贴了index.js中的) ```js window.onload=function () { search(); banner(); downTime(); }; //滚动bannar function banner(){ var banner=document.querySelector('.hm_banner'); var w=banner.offsetWidth; var imageBox=banner.querySelector('ul:first-child'); var pointBox=banner.querySelector('ul:last-child'); var points=pointBox.querySelectorAll('li'); //添加过度 var addTransition=function(){ imageBox.style.webkitTransition="all .2s"; imageBox.style.transition="all .2s"; }; //删除过度 var removeTransition=function () { imageBox.style.webkitTransition="none"; imageBox.style.transition="none"; } //改变位子 var setTranslateX=function (translateX) { imageBox.style.webkitTransform="translateX("+translateX+"px)"; imageBox.style.transform="translateX("+translateX+"px)"; }; //自动滚动一秒一次 var index=1; var timer = setInterval(function () { index++; addTransition(); setTranslateX(-index*w); },1000); //加入过度事件 itcast.transitionEnd(imageBox,function () { /* console.log('transitionEnd');*/ if (index >= 9){ index=1; removeTransition(); setTranslateX(-index*w); } else if(index<=0){ index=8; removeTransition(); setTranslateX(-index*w); } setPoint(); }); //点的滚动 var setPoint=function () { for (var i=0; iw/3)){ if(distanceX>0){ index--; }else { index++; } addTransition(); setTranslateX(-index*w); } //添加回定时器 startX=0; moveX=0; distanceX=0; isMove=false; clearInterval(timer); timer = setInterval(function () { index++; addTransition(); setTranslateX(-index*w); },1000); }); } ``` css部分有两块,一部分是公共css,一部分是index中的css,这里就贴了。 3. **抢购栏目倒计时效果** html部分 ```html
掌上秒杀
0 0 : 0 0 : 0 0
``` js部分两块,一部分是公共js,一部分是index中的js。(这里只贴了index.js中的) ```js //倒计时 function downTime() { var time=5*60*60; var timer=null; var skTime=document.querySelector('.sk_time'); var spans=skTime.querySelectorAll('span'); timer=setInterval(function () { if (time<0){ clearInterval(timer); return false; } time--; var h=Math.floor(time/3600); var m=Math.floor(time%3600/60); var s=time%60; console.log(h+':'+m+':'+s); spans[0].innerHTML=Math.floor(h/10); spans[1].innerHTML=h%10; spans[3].innerHTML=Math.floor(m/10); spans[4].innerHTML=m%10; spans[6].innerHTML=Math.floor(s/10); spans[7].innerHTML=s%10; },1000); } ``` css部分有两块,一部分是公共css,一部分是index中的css,这里就贴了。 4. **购物车页面点击删除产生悬浮提示框,小垃圾桶会打开盖子** html ```html ``` js部分两块,一部分是公共js,一部分是index中的js。(这里只贴了cart.js中的) ```js //动画弹框 window.onload=function () { var hmWin=document.querySelector('.hm_win'); var hmWinbox=hmWin.querySelector('.hm_win_box'); var deleteList=document.querySelectorAll('.deleteBox'); var deleteBtn=null; for (var i=0;i