最近写了几个转盘抽奖的活动页面:

1.设定旋转的角度:

HTML部分:
转盘代码:
<div class="lottery">
<div class="lottery_box">
<div class="flash-light flash"></div>
<div class="lottery_cont" id="lottery_cont"></div>
<div class="lottery_btn" id="lottery_btn"></div>
</div>
</div>

立即注册弹窗:

<div class="popup">
<div class="popup-img" >
<div class="popup-btn"></div>
<div class="close">X</div>
</div>

</div>

 
/** lottery css **/
.lottery {
position: absolute;
text-align: center;
height: 549px;
width: 100%;
background: url(images/lottery-bg.png) no-repeat top center;
z-index: 4;
top: 20%;
}
.lottery_cont{
position: absolute;
height: 445px;
width: 444px;
background: url(images/lottery.png) no-repeat top center;
z-index: 4;
top: 52px;
left: 50%;
margin-left: -223px;
transition: all .2s ease-out;
-webkit-transition:all .2s ease-out;
}
.lottery_btn{
position: absolute;
height: 126px;
width: 94px;
background: url(images/lot-btn.png) no-repeat top center;
z-index: 4;
top: 35.6%;
left: 50%;
margin-left: -48px;
cursor: pointer;
}
.lottery_btn:hover{
transform: scale(1.1);
} /**popup css **/
.popup {
position: absolute;
top: 0px;
width: 100%;
background: rgba(0,0,0,0.5);
z-index: 10;
height: 100%;
text-align: center;
padding: 10% 0;
display: none;
}
.popup-img{background: url(images/popup.png)top center no-repeat;width:481px;height:590px;margin: 0 auto;position: relative; }
.popup-btn{ position: absolute;
width: 86%;
bottom: 0%;
left: 8%;
height: 12%;
cursor: pointer;}
.box {position: relative;}
.close {
position: absolute;
top: 0;
color: #fff;
font-size: 30px;
right: -50%;
cursor: pointer;
}
JS部分:
var currentdeg=0; //初始化角度
function get_ram(){
var willdeg=360+(parseInt(Math.random()*10)*36);
return willdeg;
}
// var speed=willdeg/5;
$('#lottery_btn').click(function(){
var willdeg = get_ram();
content.style.transform="rotate("+willdeg+"deg)";
var enddeg=content.style.transform.slice(7);
enddeg=willdeg-360;
console.log(enddeg);
var timer=setTimeout(function(){
if(45<enddeg&&enddeg<=135){
$(".popup").show(500);
$(".popup-btn").addClass('popup-real'); }
else if(135<enddeg&&enddeg<=225){
$(".popup").show(500);
$(".popup-btn").removeClass('popup-real');
}
else if(225<enddeg&&enddeg<=315){ $(".popup").show(500);
$(".popup-btn").addClass('popup-real'); }
else if(0<=enddeg&&enddeg<=45||315<enddeg&&enddeg<=360){
$(".popup").show(500);
$(".popup-btn").removeClass('popup-real'); }
},2000); }); $(".close").click(function(){
$(".popup").fadeOut(1000);
content.style.transform="rotate(0deg)";
});

此外滑到固定div的js代码为:

       $(".demo,.real,.popup-btn").click(function(){
$('html,body').animate({scrollTop:$('#register').offset().top},2000);
});

添加加载进度条功能:

<div id="loading">
<img src="data:images/loading.gif">
</div>
<style>
div#loading {width: 100%;height: 100%;position: fixed;background:#fff;z-index: 100000;text-align: center;}
div#loading img{width: auto;position: fixed;top: 50%;}
</style>
<script>
$(window).on('load',function(){
$("#loading").hide();
});
<script>

Js实现抽奖转盘,和点击返回某个模块顶部的功能的更多相关文章

  1. 使用CSS3+jquery.js 实现微信抽奖转盘效果

    上次发表了一篇 微信抽奖转盘活动-效果源码分析 最近想起了刚接到这个项目时第一时间脑海里迸出的解决方法 “CSS3”! 为什么不能用CSS3来实现呢? 所以我打算用CSS3来实现这个效果.并不需要依赖 ...

  2. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  3. 抽奖转盘(jqueryrotate.js)

    jqueryrotate.js抽奖转盘,使用方便,兼容各浏览器,效果如下图 <!DOCTYPE> <head> <meta http-equiv="Conten ...

  4. jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo

    需求: 最多可以抽奖5次,而且,每次只会中“2000元理财金”或者“谢谢参与”,其它的不会抽中(哈哈,果然都是套路). 效果如下: 一.页面结构: <div class="g-cont ...

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

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

  6. JS:九宫格抽奖转盘实例

    工作需要,所以做了个抽奖转盘的插件,当然这里只做最简单的演示.可以用于取代一些flash抽奖程序. 机制说明: 1.通过定义lottery-unit来控制节点的个数及索引: 2.通过设置lottery ...

  7. js中点击返回顶部

    window.scrollTo(0, 0);当点击返回顶部的时候调用这个方法即可 handleScrollTop(){ window.scrollTo(0, 0); }

  8. Html5-Canvas实现简易的抽奖转盘

    ###Html5实现抽奖转盘效果 1.实现的基本效果 2.主要的内容 html5中canvas标签的使用 jQueryRotate.js旋转插件 3.主要html代码 <body> < ...

  9. 利用java实现抽奖转盘(着重安全控制)

    本文是针对jquery 实现抽奖转盘作者的一个补充(主要用java去实现转盘结果生成及存储,解决jquery 做法 非法用户采用模拟器实现改变转盘值的风险性),针对jQuery的具体实现,请看案例:h ...

  10. jquery实现抽奖转盘

    用jquery通过配置参数实现抽奖转盘 1.html代码 <!DOCTYPE html> <html lang="zh-CN"> <head> ...

随机推荐

  1. markdown 常用表情符号 (github emoji)

    markdown 常用表情(emoji) 官网[非笔者维护,仅做引用] Face Smiling 咧嘴笑 grinning 汗颜笑 sweat_smile 爆笑 rofl 眨眼笑 wink innoc ...

  2. python结巴分词及词频统计

    1 def get_words(txt): 2 seg_list = jieba.cut(txt) 3 c = Counter() 4 for x in seg_list: 5 if len(x) & ...

  3. Windows和Linux系统下的Conda环境迁移

    Motivation ​ 大家在学习Python的过程中,可能经常会遇到下面两种情况: 同一份代码,别人配置conda环境可以跑通,但你配置了N天,还不知道哪一步出现了差错,仍然跑不通代码,conda ...

  4. RabbitMQ 09 主题模式

    主题模式 主题模式结构图: 主题模式实际上就是一种模糊匹配的模式,可以将routingKey以模糊匹配的方式去进行转发. 可以使用*或#来表示: *:任意的一个单词. #:0个或多个单词. 定义配置类 ...

  5. 驾考宝典携手HMS Core统一扫码服务,构建复杂场景中的流畅扫码体验

    "驾考宝典"是一款颇具人气的互联网综合驾照考试学习应用,通过强大的驾考功能,在手机移动端为学车学员提供从报名.学习到拿本的全方位驾考服务.作为一个专业的驾培平台,"驾考宝 ...

  6. C++获取appdata路径

    C++获取appdata路径的方式:    SHGetSpecialFolderPath wchar_t buffer[MAX_PATH]; SHGetSpecialFolderPath(0, buf ...

  7. Mogdb - 安装报错Failed to encrypt the password for databaseError

    Mogdb - 安装报错 Failed to encrypt the password for databaseError 本文出处:https://www.modb.pro/db/418363 版本 ...

  8. nginx重新整理——————http请求的11个阶段中的日志阶段[十九]

    前言 简单介绍一下access log 阶段. 正文 日志模块是 ngx_http_log_module,这个模块无法禁用,内置的. 结 上面是日志的用法.主要的一个内容是日志如果是变量的话,那么需要 ...

  9. Linux 用户名显示为sh-

    前言 本来我们使用bash的时候一直显示是: 后来我操作linux的时候因为有一个新的需求,我使用: useradd -d /home/testuser -m testuser 去创建一个用户名,名字 ...

  10. MVC 测试action的运行速度

    前言 网络很多文章有关于action的测试机制,本文主要是整理一下思路. 正文 假如有一个acion: public ActionResult Index() { return View(); } 当 ...