轮播图效果学习

本文介绍了如何使用HTML、CSS3和JavaScript实现一个商城轮播图效果。从项目需求分析开始,详细讲解了HTML结构布局、CSS3样式设置以及JavaScript事件处理和自动轮播功能的实现。内容包括HTML事件、DOM0级和DOM2级事件绑定,并提供了相应的代码示例。
摘要由CSDN通过智能技术生成

这周要求做个商城的轮播图,老师说在拿到项目的时候不要急急忙忙写代码,先要想好要具体做那些内容,项目的整体页面是这样的在这里插入图片描述
从这个页面上来看,主要分为下面几点:

  1. 左侧为主菜单
  2. 中间为焦点图
  3. 左右箭头
  4. 右下角小圆点
  5. 二级菜单

在这里插入图片描述

从JavaScript角度来讲:

  1. 点击上图得左右箭头,分别跳转上一图和下一图
    点击上一张图其实就是让一个变量进行递增,点击下一张图就是让变量递减

  2. 点击右下角小圆点也可以进行图片得轮播
    通过索引让变量进行随意得修改

  3. 每间隔2s进行轮播图得自动切换
    定时器;

  4. 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设置

  1. 用一个大的div去包裹菜单栏和轮播图片设置class属性和id属性均为main;
  2. 在这个大的div内插入一个菜单盒子div class属性为menu-box;
  3. 再插入一个二级菜单div与菜单盒子div同级(原因:为之后如果对其中一个进行修改不会改变另外一个),并定义class属性和id属性为sub-menu,再class属性中添加一个hide属性
    为了先将它设置隐藏,之后在js中通过自定义函数来显示每个对应的二级菜单;
  4. 在子菜单div内插入四个class属性为inner-box的div,在每个新插入的div内分别添加三类div:第一类div定义框架(用于css3设置整体框架样式),第二类div定义每个大标题(用于css3设置标题加粗红色样式),第三类定义大标题下的每个内容,有多少行设置多少个div(用于css3设置每行的样式);
  5. 再插入一个一级菜单div,在div内添加超链接标签a(用于以后可以跳转对应商品的页面),添加span标签输入菜单栏的名字,再添加一个小箭头;
  6. 再插入一个div放置焦点图
    class属性和id属性均为banner,在这个div内插入一个超链接标签a(用于以后可以跳转对应商品的页面),在每个a标签内再插入一个div用于等会儿css内设置插入不同图片;
  7. 再插入两个超链接标签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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值