使用 JavaScript 中的 window 对象执行计时操作,完成一个抽奖程序
查看本章节
查看作业目录
需求说明:
使用 JavaScript 中的 window 对象执行计时操作,完成一个抽奖程序


实现思路:
- 在 HTML 页面中放置背景图片、转盘和指针 3 张图片,并设置指针的点击事件
- 使用 window 对象的 setInterval() 方法反复执行间歇性旋转操作,当获取旋转的度数后,调用 window 对象的 clearInterval() 方法取消间歇性旋转操作
- 调用 window 对象的 setTimeout() 方法,在 4 秒后提示用户中奖结果
实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>抽奖</title>
<style type="texts">
#bg{
width: 650px;
height: 600px;
margin: 0 auto;
background:url(imgtable-bg.jpg.jpg)no-repeat ;
position: relative;
}
#pointer{
position: absolute;
z-index: 10;
top: 155px;
left: 247px;
}
#turntable{
position: absolute;
z-index: 5;
top: 60px;
left: 116px;
transition: all 4s;
}
</style>
</head>
<body>
<div id="bg">
<img id="pointer" src="img/pointer.png" alt="pointer" onClick="start()"/>
<img id="turntable" src="imgtable.png" alt="turntable"/>
</div>
<script type="text/javascript">
var pointer=document.getElementById("pointer");
var turntable=document.getElementById("turntable");
var gameover=true;
var cat=51.4;
var lenCloc=0;
function start(){
if (gameover) {
gameover=!gameover;
rotate();
}
}
function rotate(){
lenCloc++;
var timer=null;
clearInterval(timer);
timer=setInterval(function(){
var soBuom=parseInt(Math.floor(Math.random()*51.4)-30.7);
var rdm=lenCloc*3*360+soBuom;
turntable.style.transform="rotate("+rdm+"deg)";
clearInterval(timer);
setTimeout(function(){
gameover=!gameover;
num=rdm%360;
if (num<=cat*1) {
alert("恭喜您获得一等奖\n4999元免单");
}else if (num<=cat*2) {
alert("恭喜您获得二等奖\n50元免单");
} else if (num<=cat*3) {
alert("恭喜您获得三等奖\n10元免单");
}else if (num<=cat*4) {
alert("恭喜您获得四等奖\n5元免单");
}else if (num<=cat*5) {
alert("恭喜您获得五等奖\n免分期服务费");
}else if (num<=cat*6) {
alert("恭喜您获得六等奖\n提高白条额度");
}else if (num<=cat*7) {
alert("未中奖");
}
},4000);
},30);
}
</script>
</body>
<ml>
使用 JavaScript 中的 window 对象执行计时操作,完成一个抽奖程序的更多相关文章
- JavaScript中的window对象
JavaScript中的window对象:http://www.cnblogs.com/kissdodog/archive/2013/01/01/2841464.html
- 理解JavaScript中的window对象
前言 每个JavaScript环境都有一个全局对象(global object).在全局范围内创建的任何变量实际上都是这个对象的属性,而任何函数都是它的方法.在浏览器环境中,全局对象是window对象 ...
- JavaScript中的window对象的属性和方法;JavaScript中如何选取文档元素
一.window对象的属性和方法 ①setTimeout()方法用来实现一个函数在指定毫秒之后运行,该方法返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行. ②setIn ...
- java基础65 JavaScript中的Window对象(网页知识)
1.javaScript组成部分 1.EMCAScript(基本语法) 2.BOM(Browser Object Model):浏览器对象模型 浏览器对象模型中的浏览器的各 ...
- JavaScript中的global对象,window对象以及document对象的区别和联系
JavaScript中的global对象,window对象以及document对象的区别和联系 一.概念区分:JavaScript中的global对象,window对象以及document对象 1.g ...
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- 【学习笔记】:JavaScript中的BOM对象
JavaScript中的BOM对象 BOM(Browser Object Model):浏览器对象模型. BOM可用于对浏览器窗口进行访问,但BOM没有相关的标准,所以根据浏览器的不同,其中定义的对象 ...
- JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)
1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向 ...
- JavaScript权威指南--window对象
知识要点 window对象及其客户端javascript所扮演的核心角色:它是客户端javascript程序的全局对象.本章介绍window对象的属性和方法,这些属性定义了不同的API,但是只有一部分 ...
随机推荐
- node.js require() 源码解读
时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS 格式.这种格式的核心就是 require 语句,模块通过它加载.学习 Node. ...
- 【JAVA】【基础知识】Java程序执行过程
1. Java程序制作过程 使用文本编辑器进行编辑 2. 编译源文件,生成class文件(字节码文件) javac源文件路径. 3.运行程序class文件.
- 【Java 基础】Java日期格式问题
1. Use SimpleDateFormat to format Date. Watch out, SDF is NOT THREAD-SAFE, it might not be important ...
- Spring boot 数据源配置。
配置文件 : spring boot 配置文件 有两种形式 ,一种是properties文件.一种是yml文件.案列使用properties文件. 数据源的默认配置 : spring boot 约定 ...
- Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别
敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...
- 【Spark】【RDD】从HDFS创建RDD
1.在HDFS根目录下创建目录(姓名学号) hdfs dfs -mkdir /zwj25 hdfs dfs -ls / 访问 http://[IP]:50070 2.上传本地文件到HDFS hdfs ...
- 前端浅谈-Js的组成
这里主要想详细的分析一下浏览器渲染过程,但东西比较多.所以分成多个部分. JS由三个部分组成,分别为ECMAScript.BOM.DOM. 其中BOM是浏览器层面的东西,而DOM是页面层面的东西.简单 ...
- [BUUCTF]REVERSE——[HDCTF2019]Maze
[HDCTF2019]Maze 附件 步骤: 例行检查,32位程序,upx壳 upx脱壳儿后扔进32位ida,首先检索程序里的字符串 有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行 ...
- TMS570LS3137笔记-内部Flash FEE使用
1.基本简介 TMS570LS3137内部Flash分为三个 Bank,主Flash 数据存储区3MB,是Bank1和Bank2.还有一个Bank7是作为内部Flash模拟EEPROM使用.内部存储器 ...
- CF41C Email address 题解
Content 有一个字符串 \(s\),它满足以下要求: 只包含 ..@ 和小写字母. 不以 . 为开头或者结尾. 不以 @ 为开头或者结尾,并只能包含一个 @. 请将其进行如下操作,使得这个字符串 ...