这周要求做个商城的轮播图,老师说在拿到项目的时候不要急急忙忙写代码,先要想好要具体做那些内容,项目的整体页面是这样的
从这个页面上来看,主要分为下面几点:
- 左侧为主菜单
- 中间为焦点图
- 左右箭头
- 右下角小圆点
- 二级菜单
从JavaScript角度来讲:
-
点击上图得左右箭头,分别跳转上一图和下一图
点击上一张图其实就是让一个变量进行递增,点击下一张图就是让变量递减 -
点击右下角小圆点也可以进行图片得轮播
通过索引让变量进行随意得修改 -
每间隔2s进行轮播图得自动切换
定时器; -
Typeof id 或者 typeof(id)
补充知识点:
html事件:在标签里面写 绑定在页面里面的
DOM0级事件:只能给一个元素的某一个行为绑定一次方法 第二次绑定的话会将前面的覆盖
DOM2级事件:可以给某一个元素的同一个行为绑定多个不同的方法
DOM2级事件里有监听方法:
addEventListener()和removeEventListener() ——非ie浏览器(chrome firefox opera safari ie9+)
addEventListener()可以为元素添加多个事件处理程序,触发的时候按照添加顺序依次进行调用;
removeEventListener()移除事件处理程序,不能移除匿名添加的函数
参数:第一个参数是事件名 第二个参数是事件处理程序函数 第三个参数是布尔值(true表示在捕获阶段调用 从上往下 false表示在冒泡阶段调用 从下往上 )
ie6~8版本 监听方法:
attachEvent()和detachEvent()
attachEvent()可以为元素添加多个事件处理程序,触发的时候按照添加顺序依次执行
detachEvent()移除事件处理程序 不能移除匿名添加的函数
参数:第一个参数是事件名 第二个参数是事件处理程序函数
那么对于现在仅学的内容来说,要通过HTML,CSS3,JavaScript,来分别设置各自的内容。
HTML设置
- 用一个大的div去包裹菜单栏和轮播图片设置class属性和id属性均为main;
- 在这个大的div内插入一个菜单盒子div class属性为menu-box;
- 再插入一个二级菜单div与菜单盒子div同级(原因:为之后如果对其中一个进行修改不会改变另外一个),并定义class属性和id属性为sub-menu,再class属性中添加一个hide属性
为了先将它设置隐藏,之后在js中通过自定义函数来显示每个对应的二级菜单; - 在子菜单div内插入四个class属性为inner-box的div,在每个新插入的div内分别添加三类div:第一类div定义框架(用于css3设置整体框架样式),第二类div定义每个大标题(用于css3设置标题加粗红色样式),第三类定义大标题下的每个内容,有多少行设置多少个div(用于css3设置每行的样式);
- 再插入一个一级菜单div,在div内添加超链接标签a(用于以后可以跳转对应商品的页面),添加span标签输入菜单栏的名字,再添加一个小箭头;
- 再插入一个div放置焦点图
class属性和id属性均为banner,在这个div内插入一个超链接标签a(用于以后可以跳转对应商品的页面),在每个a标签内再插入一个div用于等会儿css内设置插入不同图片; - 再插入两个超链接标签a(设置左右箭头)和一个div包裹三个span标签(设置小圆点)。
整个整个HTML里包含的内容已经笼统的都完成了。
附上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>商城轮播图</title>
<link rel="stylesheet" type="text/css" href="css/demo1.css">
</head>
<body>
<!-- 用一个大的div包裹菜单栏和轮播图片 -->
<div class="main" id="main">
<!-- 整体菜单盒子 -->
<div class="menu-box"></div>
<!-- 子菜单 -->
<div class="sub-menu hide" id="sub-menu">
<div class="inner-box">
<!-- 定义一个sub的div框 -->
<div class="sub-inner-box">
<!-- 定义每个大标题 -->
<div class="title">手机、配件</div>
<!-- 定义大标题下每个内容 -->
<div class="sub-row">
<span class="jc mr">手机通讯:</span>
<a href="#">手机</a>
<span class="ml mr">/</span>
<a href="#">手机维修</a>
<span class="ml mr">/</span>
<a href="#">以旧换新</a>
</div>
<div class="sub-row">
<span class="jc mr">手机配件:</span>
<a href="#">手机壳</a>
<span class="ml mr">/</span>
<a href="#">手机存储卡</a>
<span class="ml mr">/</span>
<a href="#">数据线</a>
<span class="ml mr">/</span>
<a href="#">充电器</a>
<span class="ml mr">/</span>
<a href="#">电池</a>
</div>
<div class="sub-row">
<span class="jc mr">运营商:</span>
<a href="#">中国联通</a>
<span class="ml mr">/</span>
<a href="#">中国移动</a>
<span class="ml mr">/</span>
<a href="#">中国电信</a>
</div>
<div class="sub-row">
<span class="jc mr">智能设备:</span>
<a href="#">智能手环</a>
<span class="ml mr">/</span>
<a href="#">智能家居</a>
<span class="ml mr">/</span>
<a href="#">智能手表</a>
<span class="ml mr">/</span>
<a href="#">其他配件</a>
</div>
<div class="sub-row">
<span class="jc mr">娱乐:</span>
<a href="#">耳机</a>
<span class="ml mr">/</span>
<a href="#">音响</a>
<span class="ml mr">/</span>
<a href="#">收音机</a>
<span class="ml mr">/</span>
<a href="#">麦克风</a>
</div>
</div>
</div>
<div class="inner-box">
<!-- 定义一个sub的div框 -->
<div class="sub-inner-box" id="sub2">
<!-- 定义每个大标题 -->
<div class="title">电脑</div>
<!-- 定义大标题下每个内容 -->
<div class="sub-row">
<span class="jc mr">电脑:</span>
<a href="#">笔记本</a>
<span class="ml mr">/</span>
<a href="#">平板</a>
<span class="ml mr">/</span>
<a href="#">一体机</a>
</div>
<div class="sub-row">
<span class="jc mr">电脑配件:</span>
<a href="#">显示器</a>
<span class="ml mr">/</span>
<a href="#">CPU</a>
<span class="ml mr">/</span>
<a href="#">主板</a>
<span class="ml mr">/</span>
<a href="#">硬盘</a>
<span class="ml mr">/</span>
<a href="#">电源</a>
<span class="ml mr">/</span>
<a href="#">显卡</a>
<span class="ml mr">/</span>
<a href="#">其他配件</a>
</div>
<div class="sub-row">
<span class="jc mr">游戏设备:</span>
<a href="#">游戏机</a>
<span class="ml mr">/</span>
<a href="#">耳机</a>
<span class="ml mr">/</span>
<a href="#">游戏软件</a>
</div>
<div class="sub-row">
<span class="jc mr">网络产品:</span>
<a href="#">路由器</a>
<span class="ml mr">/</span>
<a href="#">网络机顶盒</a>
<span class="ml mr">/</span>
<a href="#">交换机</a>
<span class="ml mr">/</span>
<a href="#">存储卡</a>
<span class="ml mr">/</span>
<a href="#">网卡</a>
</div>
<div class="sub-row">
<span class="jc mr">外部产品:</span>
<a href="#">鼠标</a>
<span class="ml mr">/</span>
<a href="#">键盘</a>
<span class="ml mr">/</span>
<a href="#">U盘</a>
<span class="ml mr">/</span>
<a href="#">移动硬盘</a>
<span class="ml mr">/</span>
<a href="#">鼠标垫</a>
<span class="ml mr">/</span>
<a href="#">电脑清洗</a>
</div>
</div>
</div>
<div class="inner-box">
<!-- 定义一个sub的div框 -->
<div class="sub-inner-box" id="sub3">
<!-- 定义每个大标题 -->
<div class="title">家用电器</div>
<!-- 定义大标题下每个内容 -->
<div class="sub-row">
<span class="jc mr">电视:</span>
<a href="#">国产品牌</a>
<span class="ml mr">/</span>
<a href="#">韩国品牌</a>
<span class="ml mr">/</span>
<a href="#">欧美品牌</a>
</div>
<div class="sub-row">
<span class="jc mr">空调:</span>
<a href="#">显示器</a>
<span class="ml mr">/</span>
<a href="#">柜式</a>
<span class="ml mr">/</span>
<a href="#">中央</a>
<span class="ml mr">/</span>
<a href="#">壁挂式</a>
</div>
<div class="sub-row">
<span class="jc mr">冰箱:</span>
<a href="#">多开门</a>
<span class="ml mr">/</span>
<a href="#">对开门</a>
<span class