如何用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
nodemodules
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布局目前可使用在移动中,并非所有的语法都全兼容,效果良好~