做到一个活动,需要转盘抽奖,于是想到使用css3的动画效果,其中主要包含transition的动画过渡,transform的rotate的旋转效果,在这里只用到2d的旋转,

特别强调的是,因为需要和后台做交互,是后台决定你获得什么奖然后把结果传给前台,还是前台决定你获得什么奖把内容传给后台,这里需要你们自行决定,我在这里使用的是后台决定获奖内容,然后前台控制角度。

这里,我设定转盘在3秒内转5圈,然后计算几等奖,然后转盘转到相应位置。agax属于请求中奖代号,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>旋转</title>
<style type="text/css" media="screen">
*{
margin: 0;padding: 0;
}
#parent{
position: relative;
width: 310px;
height: 310px;
}
#rotate{
width: 310px;
height: 310px;
transition: all 3s;
}
#zhen{
position: absolute;
left: 86px;
top: 65px;
width: 130px;
height: 154px; }
.aa{
width: 130px;
height: 154px;
}
</style>
<script src="jquery.min.js" type="text/javascript" ></script>
</head>
<body>
<div id="parent">
<div id="rotate"><img src="0.png"></div>
<div id="zhen"><img class="aa" src="pointer2.png"></div>
</div> <script type="text/javascript">
$(function(){ var bTag = 0;//点击次数
$('#zhen').click(function(){
// $.ajax({
// url:'',
// type:'get',
// data:{
// userId:userId
// },
// success:function(data){
// if(data.result){
// console.log('您有一次抽奖机会');
// //5quan=1800 最低旋转180度
// if(data.code == 1){//一等奖
// var aa = Math.floor(Math.random()*46)+(2160+bTag*1800)+'deg';
// }
// if(data.code == 2){//二等奖
// var aa = Math.floor(Math.random()*46)+(2115+bTag*1800)+'deg';
// }
// if(data.code == 3){
// var aa = Math.floor(Math.random()*46)+(2070+bTag*1800)+'deg';
// }
// if(data.code == 4){
// var aa = Math.floor(Math.random()*46)+(2025+bTag*1800)+'deg';
// }
// if(data.code == 5){
// var aa = Math.floor(Math.random()*46)+(1980+bTag*1800)+'deg';
// }
// if(data.code == 6){
// var aa = Math.floor(Math.random()*46)+(1935+bTag*1800)+'deg';
// }
// if(data.code == 7){
// var aa = Math.floor(Math.random()*46)+(1890+bTag*1800)+'deg';
// }
// if(data.code == 8){
// var aa = Math.floor(Math.random()*46)+(1800+bTag*1800)+'deg';
// }
// }
// }
// }) bTag++;
var cc = "rotate("+aa+")";
console.log(cc); $("#rotate").css({'transform':cc}) })
}) </script> </body> </html>

css3转盘抽奖的更多相关文章

  1. 纯CSS3大转盘抽奖(响应式、可配置)

    源于前段时候微信小程序最初火爆公测时段,把以前用 Canvas 实现的大转盘抽奖移植成微信小程序,无奈当时小程序对 Canvas 支持不够完善,只好降低用 CSS3 实现.虽然比不上 Canvas 绘 ...

  2. javascript 转盘抽奖代码和计数器代码

    要介绍了javascript圆盘抽奖程序实现原理和完整代码例子,需要的朋友可以参考下  看到网页上有不少大转盘抽奖的应用,心血来潮也想弄个.于是找了点资料自己研究...  效果预览: 一.模拟抽奖的实 ...

  3. web:转盘抽奖

    移动web:转盘抽奖(幸运大转盘)   为了获取客户.回馈客户,平台一般会推出抽奖活动类的营销页.因此web页面中,有各式各样的抽奖效果. 格子式(九宫格),背景滚动式(数字/文字/图案),旋转式(转 ...

  4. 移动web:转盘抽奖(幸运大转盘)

    为了获取客户.回馈客户,平台一般会推出抽奖活动类的营销页.因此web页面中,有各式各样的抽奖效果. 格子式(九宫格),背景滚动式(数字/文字/图案),旋转式(转盘),游戏式(砸蛋/拼图...).... ...

  5. canvas转盘抽奖的实现(二)

    本篇是<canvas转盘抽奖的实现(一)>的另一种实现方法,主要通过css3的transform以及transition过渡来实现.     // ' + r + '等奖'; } draw ...

  6. 【Vue.js游戏机实战】- Vue.js实现大转盘抽奖总结

    大家好!先上图看看本次案例的整体效果. 实现思路: Vue component实现大转盘组件,可以嵌套到任意要使用的页面. css3 transform控制大转盘抽奖过程的动画效果. 抽奖组件内使用钩 ...

  7. js实现转盘抽奖

    大转盘抽奖,主要通过css3的"transform:rotate(0deg)"属性来控制元素的旋转角度来实现. 通常,抽奖的过程需要渐进的效果,所以直接通过旋转属性写比较繁琐. 这 ...

  8. HTML5 Canvas绘制转盘抽奖

    新项目:完整的Canvas转盘抽奖代码 https://github.com/givebest/GB-canvas-turntable 演示 http://blog.givebest.cn/GB-ca ...

  9. canvas转盘抽奖

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" ...

随机推荐

  1. seajs加载jquery提示$ is not a function

    jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery,需要稍微改下jquery 把 if (typeof define === ...

  2. Apache Ranger对HDFS的访问权限控制的原理分析(一)

    介绍 Aapche Ranger是以插件的形式集成到HDFS中,由Ranger Admin管理访问策略,Ranger插件定期轮询Admin更新策略到本地,并根据策略信息进行用户访问权限的判定.Rang ...

  3. win7下安装memcached出现failed to install service or service already installed解决办法

    安装memcached时总是提示“failed to install service or service already installed”,开始以为是版本问题,就下了好几个不同版本,可还是老问题 ...

  4. 关于特殊文件权限:suid、sgid和sticky-bit

    用 ls –l 命令时,能看到三个八进制数字,表示文件的权限.其实文件的权限应该用4个八进制文件来表示,没有显示的那个是第一位,用来设定一些特殊的权限,这个八进制数字的三个位是:SUID.SGID.s ...

  5. 实体类和数据表的映射异常(XXX is not mapping[ ])

    在使用SSH框架开发过程,使用hibernate框架提供的工具类实现与数据库数据交互,在执行cmd操作时,如果出现以下异常: org.hibernate.hql.ast.QuerySyntaxExce ...

  6. jquery按钮绑定特殊事件

    本文主要介绍点击一个按钮处理事件的一些特殊情况和技巧. 一.第一次点击触发一个函数,之后点击都触发另一个函数 1.小白实现 2.大神实现 代码如下: <body> <button&g ...

  7. Linux 零拷贝技术

    简介 零拷贝(zero-copy)技术可以减少数据拷贝和共享总线操作的次数,消除通信数据在存储器之间不必要的中间拷贝过程,有效地提高通信效率,是设计高速接口通道.实现高速服务器和路由器的关键技术之一. ...

  8. hdu4099 Revenge of Fibonacci 字典树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4099 思想很容易想到 就是预处理出前10w个的fib数,然后建树查询 建树时只用前40位即可,所以在计 ...

  9. 使用Nginx实现Tomcat集群负载均衡

    概述 要解决的问题 环境准备以及问题解决思路 配置 测试 小结 一.概述 使用Nginx主要是来解决高并发情况下的负载均衡问题. 二.要解决的问题 1.最主要是负载均衡请求分发. 2.文件上传功能,只 ...

  10. 基于本地文件系统的LocalDB

    零.前言 之前写一些小工具的时候,需要用到数据存储方面的技术,但是用数据库又觉得太大了,本地文件存储txt文件存储又不是很规范,于是乎想到了去编写一个简单的基于本地文件系统的数据存储库,暂且叫它loc ...