# 仿京东移动端页面
**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
```
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