搜索
您的当前位置:首页js实现抽奖效果的图文代码分享

js实现抽奖效果的图文代码分享

时间:2023-12-01 来源:乐玩宠
本文主要介绍了js实现抽奖效果的方法实例。具有很好的参考价值。下面跟着小编一起来看下吧

效果图:

代码如下:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>随机抽奖</title> <style> *{margin: 0;padding: 0;} body{ background:darksalmon; } h1,#ks,#js{ text-align: center; } #ks{ width: 100px; height: 70px; background: blueviolet; border-radius: 10px; line-height: 70px; margin:3% 0 0 40%; } #ks:hover{ width: 100px; height: 70px; background: tomato; border-radius: 10px; line-height: 70px; } #js{ width: 100px; height: 70px; background: blueviolet; border-radius: 10px; line-height: 70px; margin:-5% 0 0 50%; } #js:hover{ width: 100px; height: 70px; background: tomato; border-radius: 10px; line-height: 70px; } .jp{ border:3px solid #CD5C5C; border-radius:10px; width:95px; height:23px; background:#ff3030; padding-top:5px; text-align:center; color: #ff7ee1; } #jp{ width: 100%; height: 200px; background: orangered; position: absolute; margin-top: 300px; } #jp span{ font-size: 30px; } #tx{ font-size: 60px; color: #fff; } </style></head><body> <h1>抽奖了</h1> <p id="ks" onclick="ks()">开始抽奖</p><!--如何通过一个按钮实现开始和关闭?--> <p id="js" onclick="gb()">停止抽奖</p> <p id="jp"><span>恭喜你获得了:</span><span id="tx"></span></p><script> var arr=["三星","苹果","华为·荣耀","小米","魅族","中兴·努比亚","酷派","vivo(蓝厂)","oppo(绿厂)"]; //循环添加的数组 var lieshu=3;//列数 console.log(arr.length); console.log("可以分:"+arr.length/lieshu+"行"); for(var i=0;i<arr.length/lieshu;i++){//控制行数 for(var j=0;j<lieshu;j++){//控制列 if(i*lieshu+j<arr.length){ console.log("循环最内层:"+i*lieshu+j); document.write("<p id="jiang"+(i*lieshu+j)+"" class="jp" style ="" + "position:absolute;left:"+(j*110+500)+"px;" +"top:" +(i*50+200)+"px;">"+ arr[i*lieshu+j]+"</p>"); /* document.write 网页内写文件 i*lieshu+j 为个数 * (j*110+500) 110 为列边距 500为整个表格;列偏移 * (i*40+300) 40 行间距 300为整个表格;列偏移 * * */ } } } var bs=-1;//用于循环过后变色 var t; function ks(){ /* 开始变色的方法*/ if(bs!=-1){ document.getElementById("jiang"+bs).style.background="#ff3030"; } var shuijisu=Math.floor(Math.random()*arr.length);//生成arr.length个 随机数向下取证 document.getElementById("jiang"+shuijisu).style.background="#3500cc"; bs =shuijisu;//shuijisu 代指添加元素的下表 t =setTimeout("ks()",100); }function gb() { clearTimeout(t); document.getElementById("tx").innerHTML =document.getElementById("jiang"+bs).innerHTML;//修改id="tx"类的值}</script></body></html>

小编还为您整理了以下内容,可能对您也有帮助:

js怎么实现刮奖效果js怎么实现刮奖效果

如何用html5实现抽奖效果

这个需要用H5新标签:canvas来画图形,用js来实现抽奖效果。实施步骤如下:

varnum=6;//奖品数量varcanvas=document.getelementbyid(画布);定义变量

BTN=document.getelementbyid(btn如果(!canvas.getContext){

alert(不好意思!浏览器不支持。);返回;}//获取绘图上下文变量CTX=canvas.Getcontext(2d为

(varI=1;我//开始新的路径

CTX.beginpath();//移动到圆心,然后围绕圆心旋转ctx.translate(150,150);//从(0,

0)坐标开始定义新的子路径ctx.moveTo(0,0);//旋转弧度,需要将角度转换成弧度,用度*Math.PI/180.

计算公式。ctx.rotate(360/num*i*Math。PI/180);//画圆弧ctx.arc(0,0,150,0,2

*数学。PI/num,false);if(I%2==0){CTX.fillstyle=#ffb820}否则{

ctx.fillStyle=}//填充扇区CTX.Fill();//绘制边框ctx.lineWidth=0.5

ctx.strokeStyle=CTX.stroke();//恢复之前的状态CTX.Restore();}

前端页面的插件有哪些?

工具类

方便操作对象,数组等的工具库

underscore.js

lo-dash与underscore.js的api基本一致。与underscore比其优势是,效率高;可自定义构建

Sugar在原生对象上增加一些工具方法

functional.js提够了一些Curry的支持

Watch.js监视对象或属性的变化

bacon.js函数式编程,cool

streamjs用流的方式来对数组,对象进行系列操作

异步流程控制

eventproxy朴灵出品

Arbiter.js详细

发布订阅

qPromise风格的

Async.js

mock

Mock.js生成随机数据和mockAjax请求

jquery-mockjaxmockajax请求

时间库

moment

datejs

浏览器探测

Bowser探测具体浏览器和版本

ua-parser-js探测具体浏览器和版本,操作系统,设备类型等

调试

console-polyfill能放心的使用console.log()之类的console方法

log让控制台输出的log有样式

Konsole.js在页面的一个元素里输出log信息详细

uri.jsuri操作

cookie增删改cookie的工具库

director前端路由库详细

BigDecimal.js提高精度的数字操作

JSDoc根据javascript文件中注释的信息,生成API文档详细

hotkeys键盘事件的封装

MD5用MD5的方式加密文件的库

浏览器增强类

让一些旧浏览器变牛的库

Selectivizr让IE6-8一些的css3选择器

ieBetter让ie6-8有高级浏览器的特性

ExplorerCanvas让IE8-的浏览器支持canvas

CSS3Pie让IE6-9支持border-radious,box-shadow,linear-gradient。可以使用.htc文件(注意Minetype)或.js文件。在用Pie.js时,box-radious的元素有背景色时,不显示背景色。。。

formFive让旧的浏览器支持HTML5表单的一些特性,如placeholder,autofocus

https://github.com/anselmh/object-fit让浏览器支持object-fit这css规则

HTML5CrossBrowserPolyfills一堆Polyfills

flexibility让旧的IE也支持Flexbox

选择器增强

Lining.js让浏览器实现类似::nth-line(),::nth-last-line()的效果

未归类

prefixfree用了它,写css时,就不需要加浏览器的前缀了

表单类

jquery-file-upload上传文件组件详细

zTree文件树形视图控件

Treed树编辑器。感觉展示的感觉很像思维导图

FileAPI对文件选择框内的文件的一些处理

表单验证

.Validate详细

jQuery-Validation-Engine

表单元素美化

uniform提供对下拉框,单,复选框,按钮等表单元素的美化

select2多选下拉框

selectivity和unfirom比较类似

DropKick下拉框,单,多选。外观比uniform好

switcheryios7风格的开关组件

nouislider用滚动条来设置/控制(音量等)

range.css美化input元素的外观

图片类

holderjs生成占位图片

lazyload

imagesLoaded选取的图片都加载好后执行调回

CSSgram用CSS3的Filter实现Instagram滤镜的库

图标类

IconFont汇总

SVG做的图标

svgicons

iconic

HYBICON带交互效果。如hover,click

HTML字符实体图标

http://www.amp-what.com/

transformicons图标点击时,会有一些变换效果。如,加号变成叉号

css3patternscss3做的可平铺纹理。浏览器兼容性不好。

浏览图片

fancybox弹出查看图片,视屏等等demo

yoxview弹出查看图片,图片尺寸缩放很自然

图片墙

wookmark

UI框架

WeUI由微信官方设计团队为微信Web开发量身设计。

Framework7

UI组件类

拖拽

dragula支持Draggable,Dropable和Sortable。感觉比jqueryUI的轻量级,好用的样子

angular-draguladragular官方的angular版本

数据可视化(图表)

Echarts百度出品

highcharts功能强大。是收费的。

Plottable.JS基于D3的一个图表库

flot文档不给力

chartJs中文文档demo很漂亮,很清晰。比较轻量级。

ichartJs中国的一个家伙搞的,感觉还不错。

时间选取组件

foundation-datepicker

DatePicker一个简单的日历详细

fullcalendar支持脱放的方式来改变待办事宜的时间

SimpleEventsCalendar外观很喜欢。收费5$

jQueryuidatepicker经典,不是很好看

pickadate轻量级,手机友好的,漂亮。但貌似只能在弹出层中显示,而没有下拉这种方式显示。

zebra-datepicker可配置性很强。但貌似只能在弹出在右上方。。。

bootstrap-datepickerbootstrap风格。

dateRangePicker选取时间段。bootstrap风格。该组件依赖TwitterBootstrap,Moment.js和jQuery.

自定义滚动条

perfectscrollbar轻量级的滚动条。外观与mac上chrome的滚动条一样。

iscroll在移动设备上用不错

加载(Loding)效果

CSSSpinnersCSS做的

Loaders.cssCSS做的

表格组件

jsGridDataGrid。详细

backgrid基于Backbone.js的DataGrid

excellentexport把表格的内容生成excel。兼容Firefox,Chrome,IE6+

datatables表格可交互(对内容进行排序,删除等)

handsontable生成Excel外观的数据

JSpreadsheets表格数据的组件库

选取颜色

Spectrum

分享到SNS

JiaThis生成分享代码。

编辑器

ace代码编辑器,可以用来做demo演示

ckeditor

ueditor百度做的

tinymce对html内容进行实时的编辑

summernote在移动设备上用不错

通知组件

notie.js

HTML5播放器

jwplayer被大量网站使用

html5media简单的h5player,轻量级

jplayer功能强太,可换肤

展示

Impress.js各种旋转,和奇特的体验

fullPage全屏显示。用滚轮来翻页详细

zepto.fullpage专注于移动端的fullPage.js,依赖Zepto

pagePiling和fullPage类似

turn.js做一本书,带漂亮的翻页的效果

幻灯

slidesjs挺好用的,只是那幻灯导航的CSS都要自己写,呵呵详细

iSlider无任何插件依赖的手机平台javascript滑动组件详细

bgstretcher全屏幻灯,会随着页面大小的变化而变化。

Swiper开源、免费、强大的移动端触摸滑动插件Swiper中文网

coin-slider兼容IE6。蛮好的~。不过其切换方式是一块块的。不能配置切换方式。。。

wowslider幻灯切换时各种很炫的效果。收费。

cycle2普通的幻灯,竟然不支持垂直滚动。。。

jcarousel普通的幻灯,不兼容IE6

reveal3d滚动。做ppt相当不错

nodePPT国人做的,做ppt也相当不错。有些方面比reveal做的还好。但生成导出的html有些问题

roundabout3d切换,看的后面图片的边

弹出框

Magnific-Popup兼容PC,Mobile。还不错,有5k+的star

layer国人开发的,兼容ie6+。不喜欢其调用方式。

动画效果

mixitup用漂亮的动画效果来完成排序和筛选

jQuery.Marquee跑马灯效果

quickflip卡片翻转效果

卡片翻转效果2兼容性可以。写的比较简单:1,只支持x方向翻转2,类名都是规定好的3,只能被调用一次。需要改写一下。我的改进版见这里

TheaterJS模拟两个人在屏幕上对话

midnight.js文字颜色随着背景变,_炸了

color-animationjquery的颜色渐变动画插件。jquery的动画不支持颜色值的变化。改库提供了这个支持。

transit对元素进行css的变换

tagcanvas3D标签云效果详细

iconate图片切换动画

Snap.js左/右侧导航的出现效果

CSSshake抖动动画

ClickSpark.js点击后的一些酷炫的效果

视觉差插件

scrollorama比较简单

superscrollorama能做的效果更多,但要用第三方Tween的库,使用起来比较复杂。

scrolldeck

flash

swfobj能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。详细

抽奖

wScratchPad刮刮卡刮奖效果

jqueryrotate旋转插件。可以用来做转盘抽奖效果

用户体验增强类

Intro.js用来介绍网站的功能很不错。也可以做新手引导。

blockUILolding组件。

simple-hint提示信息。用css做的。兼容性IE9+。

dotdotdot文字溢出时,添加在文字末尾加省略号

jQuery-menu-aim二级菜单的切换如Amazon主页上一样迅速

AnythingZoomer放大镜功能

美化/高亮语法代码

google-code-prettify

DlHighlight仅支持JavaScript、CSS、XML、HTML这4语法高亮

please按要求随机舒服的颜色

Awesomplete输入的智能提示,自动补全

proTip提示。感觉比Bootstrap的tip好

Hammerjs手势库。封装了Swipe,Tap,Pinch,Pan等手势

动画

velocity提高Jquery动画的性能。以及颜色动画之类的新特性。

SVG

Snap.svg操作SVG的JS库。号称SVG的jQuery。demo

walkway以动画的方式,渐渐地画出SVG的路径。

测试

Mocha

Chai

Should

Snoion

DeviceMock.jsmock设备。

其他类

ZeroClipboard将内容复制到剪切板兼容主流浏览器的解决方案详细

html2canvashtml转化成canvas,可以用来做截图。详细

Ink响应式html邮件框架

性能测试

抓取,解析RSS内容(不能跨域,所以后台要做代理,所谓的解析Rss其实就是解析xml)

jFeed

jRss简单版的jFeed

scriptcam与摄像头交互

cylon.js机器人框架,支持35个平台

Masonry一个瀑布流框架

devices.css移动设备边框的外观。做原型的时候用不错。

Bootstrap相关类

Bootbox.js对bootstrap的弹出框做的一些封装

免费皮肤

AdminLTE

JSPlugins仓库

jQueryCards高质量的jQuery插件网站

jster

nodemoles

npmrankSortnpmpackagesbypagerank

YOUMIGHTNOTNEEDJQUERYPLUGINS不依赖jQuery的js插件。

awesome-nodejs

Libraries.io各种语言的库

OniUI去哪儿网做的一套基于Avalon的框架

常用的移动端框架

zepto.js

语法与jquery几乎一样,会jquery基本会zepto~

最新版本已经更新到1.16

iscroll.js

解决页面不支持弹性滚动,不支持fixed引起的问题~

实现下拉刷新,滑屏,缩放等功能~

最新版本已经更新到5.0

underscore.js

笔者没用过,不过听说好用,推荐给大家~

该库提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。

最新版本已经更新到1.8.2

滑屏框架

适合上下滑屏、左右滑屏等滑屏切换页面的效果

slip.js

iSlider.js

fullpage.js

swiper.js

flex布局

flex布局目前可使用在移动中,并非所有的语法都全兼容,效果良好~

把光标放按钮上出现不一样的图片,js里面放什么代码

把光标放按钮上出现不一样的图片,js里面放什么代码:

当鼠标停在按钮上时,会出现对应的图片,用js...展开

heart阿飞55

TA获得超过1075个赞

就是要实现类似网页上滚动图片或者抽奖按钮的效果吧 1按Ctrl+F8新建影片剪辑元件,把三张图片按Ctrl+R导入放到舞台,做好图片循环播放的剪辑 2把剪辑从库拖到主场景舞台上,在下面属性面板的实例名称随意起名aaa 3按Ctrl+F8再做个按钮(偷懒的话可以选窗口-公共库-按钮里面也有现成的) 4主场景时间轴上新建一层放在aaa那层的下面,把做好的三个按钮放在舞台合适位置 5比如要按钮A,B,C暂停对应的A,B,C图片,就选A按钮按F9贴上代码 on (press) { _root.aaa.gotoAndStop(1); } on (release) { _root.aaa.gotoAndPlay(1); } 代码意思是鼠标按下时aaa停止在第一帧,鼠标松开时aaa第一帧继续播放。其他按钮也同样方法,把代码稍微改下,比如按钮B,C对应的图片在第24帧和48帧上,按钮代码就把1换成24,48。 Ctrl+Enter欣赏效果,图片循环播放,点按钮时停在对应的图片上,松开按钮图片继续循环播放。如果要做鼠标经过和离开实现图片停和放效果,就把代码的(press)换成(rollOver),(release)换成(rollOut)

如何使用javascript做一个简单的抽奖程序

参考下面写的小程序,是一个跑马灯效果。

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>抽奖</title>

<style>

*{margin:0;padding:0;}

#box{width:400px;height:400px;border:2px #C6C solid;margin:20px auto;background:#99F;}

#box>div{position:absolute;width:60px;height:40px;color:#F03;font-size:20px;border:2px #F63 solid;opacity:0.4;line-height:40px;background:#F96;}

#butt{position:absolute;background:#F6C;color:#36F;font-size:16px;margin-top:200px;margin-left:150px;}

#span{width:300px;height:40px;margin-left:160px;display:block;border:2px #F63 solid;float:left;line-height:40px;}

#span i{font-style:normal;}

</style>

</head>

<body>

<span id="span">离抽奖结束还有:<i></i><i></i><i></i><i></i></span>

<div id="box" class="box">

<div>一等奖</div>

<div style="margin-left:336px">二等奖</div>

<div style="margin-left:336px;margin-top:356px;">三等奖</div>

<div style="margin-top:356px;">安慰奖</div>

<button id="butt" onclick="butt()">点击抽奖</button>

</div>

<script type="text/javascript">

var opa=document.getElementById("box").getElementsByTagName("div");

var ii=document.getElementById("span").getElementsByTagName("i");

for(var i=0;i<opa.length;i++){

opa[i].style.opacity=0.4;

}

//var span=document.getElementById("span").style;

var i=0,

t,tt,r,

count1=1,//一等奖只中一次,当一等奖抽完后顺延到二等奖

count2=3,//二等奖只中3次,当二等奖抽完后顺延到三等奖

count3=10,//等奖只中10次

prize=1,//抽奖是否结束

time=200,

curr=0;//每次抽奖完成才能再次点击

var toDate = new Date(2016,7,29,19,55,0);

var dt,currDate;

function obtain(){//倒计时

currDate=new Date();

dt=Math.ceil((toDate.getTime()-currDate.getTime())/1000);<!--转换成s-->

ii[0].innerHTML=parseInt(dt/(24*60*60))+'天';

ii[1].innerHTML=Math.floor(dt%(24*60*60)/(60*60))+'时';

ii[2].innerHTML=Math.floor(dt%(24*60*60)%(60*60)/60)+'分';

ii[3].innerHTML=Math.floor(dt%60)+'秒';

if(dt<=0){

prize=0;

ii[0].innerHTML=0+'天';ii[1].innerHTML=0+'时';ii[2].innerHTML=0+'分';ii[3].innerHTML=0+'秒';

if(prize==0&&s==0){alert("抽奖已结束");clearInterval(tt);}

}

}

tt=setInterval(obtain,1000);

function butt(){

curr++;

if(count1==0&&count2==0&&count3==0){

prize=0;

}

if(curr==1&&prize==1){

if(i!=0){

opa[i].style.opacity=0.4;

}

i=0;

clearInterval(t);

r=parseInt(Math.random()*10000)+1;//产生1-10000的随机数

//r=1;

opa[i].style.opacity=1;

t=setInterval(move,time);

}else if(curr!=1&&prize==1){alert("请等待本次抽奖完成再抽奖");alert("请点击确定继续");}

else if(prize==0){alert("抽奖已结束");}

}

/*function move(r){

switch(r){

case 1:

}

}*/

function move(){

opa[i].style.opacity=0.4;

if(i<opa.length-1){

i++;

}else{i=0;}

opa[i].style.opacity=1;

time+=50;

console.log("r="+r+","+"time="+time);

if(r==1&&count1>0){//中一等奖

clearInterval(t);

t=setInterval(move,time);

if(time==800){

clearInterval(t);

time=200;

count1--;

curr=0;

console.log("中一等奖的次数还有:"+count1+"次");

}

}else if((r%2999==0||r==1&&count1==0)&&count2>0){//中二等奖

clearInterval(t);

t=setInterval(move,time);

if(time==850){

count2--;

clearInterval(t);

time=200;

curr=0;

console.log("中二等奖的次数还有:"+count2+"次");

}

}else if((r%1000==0||r%2999==0&&count2==0||r==1&&count1==0)&&count3>0){//中三等奖

clearInterval(t);

t=setInterval(move,time);

if(time==900){

time=200;

count3--;

clearInterval(t);

curr=0;

console.log("中三等奖的次数还有:"+count3+"次");

}

}else{//安慰奖

clearInterval(t);

t=setInterval(move,time);

if(time==950){

clearInterval(t);

curr=0;

time=200;

}

}

}

</script>

</body>

</html>

乐玩宠还为您提供以下相关内容希望对您有帮助:

js怎么实现刮奖效果js怎么实现刮奖效果

functional.js提够了一些Curry的支持 Watch.js监视对象或属性的变化 bacon.js函数式编程,cool streamjs用流的方式来对数组,对象进行系列操作 异步流程控制 eventproxy朴灵出品 Arbiter.js详细 发布订阅 qPromise风格的 Async.js mock Mock....

如何使用javascript做一个简单的抽奖程序

抽奖 {margin:0;padding:0;} box{width:400px;height:400px;border:2px #C6C solid;margin:20px auto;background:#99F;} box&gt;div{position:absolute;width:60px;height:40px;color:#F03;font-size:20px;borde...

JavaScript做

下面代码调试通过,保证正确执行:抽奖function do_click(){var a=[],i,j,x,r='';for (i=0;i&lt;31;i++)a[i]=i+1;for (i=0;i&lt;6;i++){j=Math.floor(Math.random()*(30-i));r=r+a[j]+'';x=a...

使用JavaScript完成一个抽奖程序,当单击页面上开始抽奖按钮时,在1~3...

1~36个数取7个不同的,需要用while循环+随机数去取出7个数。在while循环里面,可以判断取出来的数(用switch),是否是28,18,8. 如果有输出相应的奖项,如果没有,就输出其它的。然后将这7个数,打印出来就好了。JavaScr...

js抽奖问题,新人求解

用一个setinterval方法就搞定了 请点击输入图片描述 代码(用了JQuery):&lt;!DOCTYPE html&gt; Start Stop &lt;

寻一个js抽奖代码~

无标题文档 var s=[//数源,可以任意增加或删除 0,100,200,300,400,500,600,700,800,900 ];var data=[];function con(index){ for(i=0; i&lt;data.length; i++){ if(index==data[i])return true;} retur...

怎么用html5实现 抽奖效果

这个需要用到H5新标签:canvas绘制图形,利用js来实现抽奖效果,实现步骤如下:var num = 6; // 奖品数量 var canvas = document.getElementById('canvas'); var btn = document.getElementById('btn'); if(!canvas....

js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置

DOCTYPE html&gt;js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置//添加一个随机函数Math.rand = function(min, max){function subRand(min, max){min = min ? min : 0;max = max ? max : 9;var result = 0;do{r...

用html5+js 做一个转盘抽奖怎么做,求源码!

5分给你个程序。。。自己参考改吧 var colors = ["#B8D430", "#3AB745", "#029990", "#3501CB","#2E2C75", "#673A7E", "#CC0071", "#F80120

把光标放按钮上出现不一样的图片,js里面放什么代码

把光标放按钮上出现不一样的图片,js里面放什么代码:百度知道 当鼠标停在按钮上时,会出现对应的图片,用js...展开 heart阿飞55 TA获得超过1075个赞 就是要实现类似网页上滚动图片或者抽奖按钮的效果吧 1按Ctrl+F8新建...

Top
9.788232s