学习基础HTML、CCS、JavaScript 知识实现抽奖页面

三剑客

  • ⽹⻚最主要由3部分组成:结构(内容)、表现(样式)和⾏为(动态交互)。⽹⻚现在新的标准是W3C,这三部分所对应的也就是是HTML、CSS和JavaScript。

HTML :内容层,全称“Hyper Text Markup Language(超⽂本标记语⾔)”,简单来说,⽹⻚就是⽤HTML语⾔制作的。html⽂档就类似于word⽂档,html⽂档中写的内容就是要显示⽂本内容,当然有⼀定的格式,这样浏览器知道怎么显示出来。
CSS :样式层,全称“(层叠样式表)”,⽤来修饰HTML⽂本内容的,它的作⽤是表示⼀块内容以什么样的样式(字体、⼤⼩、颜⾊、宽⾼等)显示。
JavaScript :⾏为层,对⽹⻚添加⼀些动态的交互操作,⽐如⿏标放置哪边会变⼤,可以点击操作等

内容层HTML

  • HTML全称是 Hyper Text Markup Language(超⽂本标记语⾔),它就是制作⽹⻚⻚⾯的标准语⾔。HTML并不是⼀⻔编程语⾔,它没有逻辑,只是⼀⻔描述性的标记语⾔

HTML最基本的语法就是如此:
<标签名>内容</标签名>
例如,⽤标签来表示⽂字显示为粗体,⽤标签对来定义⽂字为斜体字。当浏览器读取到标签对时,就会将标签中的⽂字⽤斜体显示出来。

  • HTML基本结构
    ⼀个HTML⽂档由4个基本部分组成:
  1. ⼀个⽂档声明:
    声明这是⼀个HTML⽂档,当然很多是好可不写
  2. ⼀个html标签对:
    标签的作⽤相当于设计者在告诉浏览器,整个⽹⻚是从这⾥开始的,然后到结束。
  3. ⼀个head标签对:
    ⻚⾯的“头部”,⻚⾯的相关信息,⽐如标题,作者等等就写在这,这⾥内容是不会显示在浏览器的
  4. ⼀个body标签对:
    ⻚⾯的“身体”,⼀般⽹⻚绝⼤多数的标签代码都是在这⾥编写。主要显示在浏览器屏幕中的内容
<html>
 <head>
 <title>第⼀个⻚⾯</title>
 </head>
 <body>
 <h1>标题</h1>
 <h2>标题</h2>
 <p>段落标签</p>
 <p>段落标签</p>
 <span>⽂本标签</span>
 <span>⽂本标签</span>
 <span>⽂本标签</span>
 <div>
 <span>⽂本标签</span>
 <span>⽂本标签</span>
 </div>
  <img src="images/t.png">
 <table border="1" >
 <tr>
 <td>123</td>
 <td colspan="2">234</td>
 </tr>
 <tr>
 <td rowspan="2">123</td>
 <td>234</td>
 <td>345</td>
 </tr>
 <tr>
 <td>123</td>
 <td>234</td>
 <td>345</td>
 </tr>
 </table>
 </body>
</html>

在这里插入图片描述

样式层CSS

  • 我们可以使⽤style属性,为标签添加样式,如:
<h1 style="color: red;font-size: 16px;background: blue;">标题</h1> <h2 style="color: red;font-size: 16px;background: blue;">标题</h2> <p style="color: red;font-size: 16px;background: blue;">段落标签</p>
  • 我们可以把这⼀类的样式,提出来包起来,并给它⼀个名字test。之后我们就⽤这个test为我们的标签添加样式
<style type="text/css">
 .test{
 color: red;
 font-size: 16px;
 background: blue;
 }
</style>
<h1 class="test">标题</h1> 
<p class="test">段落标签</p>

这个也就叫类选择器,选择出⼀类的标签添加样式。
选择器
顾名思义,就是选择到相应的标签进⾏修饰,其中主要的选择器有:

  1. 标签选择器(根据标签名称获取标签) 对⻚⾯中的所有该标签都有效
  2. ID选择器(获取标签id=xxx的标签)对⻚⾯中指定id的标签进⾏修饰,⼀般都是修饰唯⼀的标签
  3. 类选择器(获取标签class=xxx的标签)可以选择⻚⾯中的⼀组标签,class=”xxx”的⼀组标签进⾏
    修饰
  4. 包含选择器(获取某类标签中的所有的⼦标签)
	<style type="text/css">
      p {
      	color: blue;
      	background: red;
      }
      #idChance {
      	color: orange;
      	font-size: 18px;
      }
      #idChance span {
      	font-size: 28px;
      	background: blue;

      }
	</style>
  • CSS⽂字属性

font-family 字体类型 font-family:微软雅⿊,Arial,Times New Roman;
font-size 字体⼤⼩ font-size:16px;
font-weight 字体粗细 font-weight: normal/lighter/bold/bolder;
font-style 字体斜体 font-style: italic;
color 颜⾊ color: red;

  • 边框的三个属性

border-width 边框的宽度
border-style 边框的外观
border-color 边框的颜⾊

  • CSS背景图像属性

background-image 定义背景图像的路径,这样图⽚才能显示嘛
background-repeat 定义背景图像显示⽅式,例如纵向平铺、横向平铺
background-position 定义背景图像在元素哪个位置
background-attachment 定义背景图像是否随内容⽽滚动
background:url(images/11.jpg) no-repeat;定义背景图像不重复出现

  • 盒⼦模型
    外边距margin,边框border,内边距padding
    对于child块标签,边框到⽗标签之间的距离是外边距margin,边框是border,⽽child的内容到边框的距离就叫做内边距padding,他们都是有上下左右之分。
    在这里插入图片描述

⾏为层JavaScript

  • avaScript是⼀⻔编程语⾔,有很多的内容,⽐如变量、操作符、分⽀循环语句、函数⽅法等等,再深⼊还有⾯向对象、原型、闭包、作⽤域等等内容
  1. 动态改变⻚⾯内容
    HTML⻚⾯是静态的,⼀旦编写,内容是⽆法改变的。JavaScript可以弥补这个不⾜,可以将内容动态地显示在⽹⻚中。
  2. 动态改变⽹⻚的外观
    JavaScript通过修改⽹⻚元素的CSS样式,达到动态地改变⽹⻚的外观。
  3. 验证表单数据
    我们常⻅的在各⼤⽹站中的注册中的验证功能,就是JavaScript实现的。
  4. 响应事件
    JavaScript是基于事件的语⾔。例如点击⼀个按钮弹出⼀个对话框,就是⿏标点击触发的事件
    ⻚⾯中试试看
  • 实现点击改变子颜色和点击显示倒计时
<!DOCTYPE html>
<html>
<head>
	<title>第一个页面</title>

	<style type="text/css">
      .test{
      	color: green;
      	font-size: 25px;
      	background: yellow;
      }
      .test2{
      	color: green;
      }
      p {
      	color: blue;
      	background: red;
      }
      #idChance {
      	color: orange;
      	font-size: 18px;
      }
      #idChance span {
      	font-size: 28px;
      	background: blue;

      }
	</style>
</head>
<body>
<h1 style="color: red; font-size: 30px; background: blue">标题一</h1>
<h2 style="color: red; font-size: 25px; background: blue">标题二</h2>
 <p style="color: red; font-size: 15px; background: blue">段落内容</p>
 <p class="test">段落内容</p>
 <p class="test" id="countDwon" οnclick="count()">段落内容3</p>
 <p>段落内容</p>
 <p>段落内容</p>
  <span class="test2">文本标签1也叫做文本行标签</span>
  <span class="test2" id="content">文本标签2也叫做文本行标签</span>
  <span class="test2" id="content2" οnclick="clickme()">文本标签3也叫做文本行标签</span>
   
   <div id="idChance">
     <span>块标签</span>
     <span>块标签</span>
   </div>
  
   <div>
     <span>块标签</span>
   </div>
   
   <img src="images\1.png">
   <img src="D:\books\images\1.png">

    <table border="1">
     <tr>
      <td>我是列</td>
      <td colspan="2">我跨越俩列</td>
      <td>我是列</td>
     </tr>
     <tr>
      <td>我是列</td>
      <td rowspan="2">我跨越俩行</td>
      <td>我是列</td>
     </tr>
     <tr>
      <td>我是列</td>
      <td>我是列</td>
      <td>我是列</td>
     </tr>
    </table>

<script type="text/javascript">
  document.getElementById("content").innerHTML = "javascript";
  document.getElementById("content").style.background = "red";
//实现改变子和颜色
  function clickme(argument) {
  	// body...
  	   document.getElementById("content2").innerHTML = "javascript";
       document.getElementById("content2").style.background = "red";
  }

  	var times = 3;
	var timer;
	//实现倒计时
function count() {
	// body...

	document.getElementById("countDwon").innerHTML = times;
	times--;
	if (times >= 0) {
	  timer = setTimeout(count, 1000);	
	} else {
		clearTimeout(timer);
	}
	
}

</script>

</body>
</html>

实现抽奖页面

  • 效果展示
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

源代码

<!DOCTYPE html>
<html>
<head>
	<title>转盘抽奖游戏</title>

	<style type="text/css">
	.kind{
		background: url(images/bg.jpg);
		height: 684px;
		width: 684px;
		margin: auto;

	}
	.begin{
		cursor: pointer;
	}
	.allneed{
		background: url(images/bb.jpg);
	}
	</style>

</head>
<body class="allneed">

<div class="kind">
<!-- 以表格的形式添加奖项图片 -->
<table style="margin-left: 47px; padding-top: 35px">
<tr>
<td id="count0"><img src="images/3.png"></td>
<td id="count1"><img src="images/2.png"></td>
<td id="count2"><img src="images/3.png"></td>
<td id="count3"><img src="images/4.png"></td>
</tr>

<tr>
<td id="count4"><img src="images/8.png"></td>

<!-- onclick是一个监听器 只要得到动作 就执行JavaScript的方法 -->
<td colspan="2" rowspan="2" class="begin" οnclick="changeColor()"></td>
<td id="count5"><img src="images/3.png"></td>
</tr>

<tr>
<td id="count6"><img src="images/3.png"></td>
<td id="count7"><img src="images/7.png"></td>
</tr>

<tr>
<td id="count8"><img src="images/5.png"></td>
<td id="count9"><img src="images/3.png"></td>
<td id="count10"><img src="images/1.png"></td>
<td id="count11"><img src="images/6.png"></td>
</tr>
</table>

</div>

<script type="text/javascript">

var count = 0;
var allTimes = 0;
var prize = 0;
var timer;
function changeColor(argument) {
	// body...
	document.getElementById("count" + count).style.background = "none";
	//每次都让count++ 让下一个变红 并且判断如果大于12就让其变为0
	count++;
	if (count == 12) {
		count = 0;
	}
	document.getElementById("count" + count).style.background = "red";
	
	//循环的次数
	if (allTimes < 36 + prize) {
		allTimes++;
		//prize决定了到底哪个奖项最终获奖
		if (allTimes == 36) {
			prize = Math.floor(Math.random() * 12);
		}
		timer = setTimeout(changeColor, 80 + (allTimes * 10));
	} else {
		//结束循环 但是不要忘了让allTimes和ount置为0 保证下次抽奖正常可以进入循环
		clearTimeout(timer);
		allTimes = 0;
		//提示中奖结果
		if(prize == 1 || prize == 3 ||prize == 4 || prize == 7 || prize == 8 || prize == 10 || prize == 11) {
		  alert("恭喜你中奖了");
		} else {
			alert("很遗憾你未中奖");
		}
		document.getElementById("count" + count).style.background = "none";
		count = 0;
	}
	
}
</script>

</body>
</html>
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值