web综合 限时秒杀效果的制作

第1关:限时秒杀效果图片渲染

TOC] 图1如下 链接为https://www.educoder.net/api/attachments/2089667

flash-sale

图2如下 链接为https://www.educoder.net/api/attachments/2089666

flash-end


任务描述

本关任务:完成限时秒杀效果图的图片渲染,

相关知识

为了完成本关任务,你需要掌握:1.DOM树,2.对象,3.数据类型4Date对象。

DOM简介

网页文档在浏览器上进行解析时会自动转换为一个模型,这个模型就是DOM。DOM(Document Object Model)也称文档对象模型,通过该模型我们就可以使用JavaScript脚本代码对网页文档的内容进行增删减改的操作。 根据节点层级关系的不同,可以把节点分为根节点、父节点、子节点和兄弟节点。 根节点:位于节点树的最顶层,每个节点树有一个根节点。 父节点:某个节点的上一级节点,统称为父节点。 子节点:某个节点的下一级节点,统称为子节点。 兄弟节点:具有相同父节点的两个节点,被称为兄弟节点。

对象

在计算机世界中,不仅包括来自于客观世界的对象,还包含为解决问题而引入的抽象对象。例如,一个用户可以看做一个对象,它包含用户名、用户密码等特性,也包含注册、注销等动作。一个web页可以看做一个对象,它包含背景色、段落文本、标题等特性,同时又包含打开、关闭和写入等动作。 在JavaScript中有若干对象,这里我们介绍网页制作中最常用的document对象。document表示文档对象,包含了大量的属性和方法,代表整个HTML文档。每一个载入浏览器的HTML文档都会成为document对象,只有通过document对象,才能获取某个HTML文档中的对象。

数据类型

字符串(string)是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript用来表示文本的数据类型。 如'name="myname"‘ "You can call me'Tom'!"

对于一群人我们不知道谁最厉害,所以我们准备一个擂台,并挑选第一个人为擂主(max),擂台下的人不断的(循环)来挑战擂主,如果赢了那挑战者就是擂主,之前的擂主就下台了,直到没有挑战者了,那最后一个擂主就是最厉害的那个了。

Date对象

date对象

编程要求

根据提示,在右侧编辑器补充代码。 要求使用指定的两张图片已经给出图片对应的url 要求设置图片的宽度为702px 图片高度378px 背景图url(https://www.educoder.net/api/attachments/2089667)


 

 <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>限时秒杀</title>
<style type="text/css">
/*全局控制*/
body{font-size:20px; color:#fff; font-family: microsoft yahei,arial;}
/*清除浏览器默认样式*/
img{list-style:none; outline:none;}
.img-box{
position:relative;
/* ********* Begin ********* */
/* ********* End ********* */
margin:0 auto;
}
.img-box span{
position:relative;
text-align:center;
line-height:26px;
margin:4px 0 0;
}
.img-box #hour{
left:50.6%;
top:68.35%
}
.img-box #munite{
left:55.2%;
top:68.35%;
}
.img-box #second{
left:59.6%;
top:68.35%;
}
#bot-box{
position:absolute;
z-index:1;
top:250px;
display:none;
width:702px;
height:51px;
line-height:40px;
text-align:center;
color:#666;
font-size:28px;
}
</style>
</head>
<body>
<div class="img-box">                         <!--设置秒杀时间块-->
	<span id="hour"></span>
     <span id="munite"></span>
	<span id="second"></span>
	<div id="bot-box"></div>                <!--设置限时秒杀结束块-->
</div>
</body>
</html>


第2关:限时秒杀效果javascript训练

任务描述

本关任务:创建Date对象,向题中说明的对象插值。

相关知识

为了完成本关任务,你需要掌握:如何向指定标签中插值

如何向指定标签中插值

HTML DOM innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML

编程要求

根据提示,在右侧编辑器补充代码。 需要向时分秒对应的标签中插入时间值 注:同学们在练习时注意修改endtime 当endtime 与当前时间距离不到24小时 限时秒杀动态效果最好 如果同学们不修改endtime 会静态显示秒杀结束画面
 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>限时秒杀</title>
<style type="text/css">
/*全局控制*/
body{font-size:20px; color:#fff; font-family: microsoft yahei,arial;}
/*清除浏览器默认样式*/
img{list-style:none; outline:none;}
.img-box{
position:relative;
background:url(https://www.educoder.net/api/attachments/2089667);
width:702px;
height:378px;
margin:0 auto;
}
.img-box span{
position:relative;
text-align:center;
line-height:26px;
margin:4px 0 0;
}
.img-box #hour{
left:50.6%;
top:68.35%
}
.img-box #munite{
left:55.2%;
top:68.35%;
}
.img-box #second{
left:59.6%;
top:68.35%;
}
#bot-box{
position:absolute;
z-index:1;
top:250px;
display:none;
width:702px;
height:51px;
line-height:40px;
text-align:center;
color:#666;
font-size:28px;
}
</style>
</head>
<body onload="fresh()">
<div class="img-box">                         <!--设置秒杀时间块-->
	<span id="hour"></span>
     <span id="munite"></span>
	<span id="second"></span>
	<div id="bot-box"></div>                <!--设置限时秒杀结束块-->
</div>
<script type="text/javascript">
function fresh()
{
	//设置秒杀结束时间,同学们设置相对时间为24小时以内 javascript加载效果最佳 
    // 如果同学们不修改此处时间会导致判断结果为秒杀结束
	var endtime=new Date("2020/1/1,01:01:01");
	//获取当前时间 当前时间变量为var nowtime
	/* *************start***************** */
	var nowtime=new Date();
	/* *************End***************** */
	//计算剩余秒杀时间,单位为秒
	var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
	h=parseInt(leftsecond/3600);//计算剩余小时
	m=parseInt((leftsecond/60)%60); //计算剩余分钟
	s=parseInt(leftsecond%60); //计算剩余秒
	if(h<10) h= "0"+h;
	if(m<10 && m>=0) m= "0"+m; else if(m<0) m="00";
	if(s<10 && s>=0) s= "0"+s; else if(s<0) s="00";
	//向html中插入时分秒 使用id:hour munite second
	/* *************start***************** */
	document.getElementById("hour").innerHTML=h;
    document.getElementById("munite").innerHTML=m;
    document.getElementById("second").innerHTML=s;
	/* *************End***************** */
	//判断秒杀是否结束,结束则输出相应提示信息
	if(leftsecond<=0){
		document.getElementById("bot-box").style.display="block";
		document.getElementById("bot-box").style.background="url(https://www.educoder.net/api/attachments/2089666) no-repeat";
		//向html中插入”秒杀已结束“提醒
		/* *************start***************** */
		document.getElementById("bot-box").innerHTML="秒杀已结束";
        
	    /* *************End***************** */
		clearInterval(sh);
	}
}
//设计倒计时
var sh=setInterval(fresh,1000);
</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值