/** * @author wsf */ G_LTIE8 = !document.createElement('canvas').getContext;//是否是ie9一下的版本的ie //利用html5 canvas 画的常用小图标 ;(function(win, $) { /** * 公共代码 */ function getCommon(canvasId, width, height) { var obj = document.getElementById(canvasId); if (obj.nodeName.toLowerCase() != "canvas") alert("有元素与此canvas元素id冲突!"); if (obj == null) { _obj = $('<canvas id="' + canvasId + '" width="' + width + '" height="' + height + '"></canvas>') _obj.appendTo($("body")); obj = _obj[0]; } if (G_LTIE8) { obj = G_vmlCanvasManager.initElement(obj);//ie下初始化canvas对象 } return obj.getContext('2d'); } /** * 绑定事件公共方法 */ function bindEvent(target,events,args){ for(var name in events){ target.bind(name,function (){ events[name](args); }); } } var icons = {}; icons = $.extend(icons, { loading : { showLoading :function (){ var ctx = getCommon("loading", 100, 100); var loadingInterval = null; $("#loading").parent().show(); function _showLoading() { var rotatorAngle = Math.PI * 2.5; //弧度 var step = Math.PI / 6; loadingInterval = setInterval(function() {//定时器 定时触发函数 //取得二第效果 var radius = 20; //全的半径 ctx.clearRect(0, 0, 100, 100); //清除页面 var lineWidth = 3; //线的宽度 ctx.beginPath(); //开始画图 ctx.lineWidth = lineWidth; //线的宽度 ctx.strokeStyle = 'blue'; ctx.fillStyle = "#ccc"; center = { x : 100 / 2, y : 100 / 2 }; ctx.arc(center.x, center.y, radius, 0, Math.PI * 2); ctx.closePath(); ctx.stroke(); ctx.beginPath(); //开始画弧线 ctx.strokeStyle = '#587dbf'; //线条的颜色的颜色 ctx.arc(center.x, center.y, radius, rotatorAngle, rotatorAngle + Math.PI * .45); //语法:arc(定义一个中心点,半径,起始角度,结束角度) ctx.stroke(); ctx.fill(); //绘制 rotatorAngle += step; }, 50/* 这是延迟多少秒做函数*/) //*以上是划一个圈 } _showLoading();//显示加载中 }, /** * 隐藏loading */ hiddenLoading:function (){ $("#loading").parent().hide();// } }, search : function(events) { /** * 开始画搜索按钮 */ var id = "searchBtnCvs"; var cvs = $("#" + id); var ctx = getCommon(id, 30, 30); function _drawSearch() { ctx.beginPath(); ctx.arc(15, 15, 10, 0, Math.PI * 2, true); ctx.save(); ctx.moveTo(20, 20); //原点 ctx.lineWidth = 5; ctx.lineTo(29, 29); ctx.strokeStyle = "#95A3F3"; ctx.stroke(); ctx.save(); } bindEvent(cvs,events,ctx); _drawSearch(); //调用 }, //向上箭头 arrowUp : function(events) { var cvs = $("#arrowUp"); var ctx = getCommon("arrowUp", 30, 30); var _arrowUp = function() { //画线 ctx.beginPath(); ctx.lineWidth = 5; ctx.strokeStyle = '#587dbf'; //线条颜色 //坐标源点 ctx.moveTo(11, 25); ctx.lineTo(11, 5); ctx.fill(); //充满整个区域 ctx.stroke(); ctx.save(); ctx.moveTo(12, 3); //坐标原点 ctx.lineTo(3, 15); ctx.stroke(); ctx.save(); ctx.moveTo(10, 3); ctx.lineTo(19, 15); ctx.stroke(); ctx.save(); ctx.closePath(); } bindEvent(cvs,events,ctx); _arrowUp(); }, //向下箭头 arrowDown : function(events,callback) { var cvs = $("#arrowDown"); var ctx = getCommon("arrowDown", 30, 30); function _arrowDown() { //画线 ctx.beginPath(); ctx.lineWidth = 5; ctx.strokeStyle = '#587dbf'; //线条颜色 //坐标源点 ctx.moveTo(11, 0); ctx.lineTo(11, 25); ctx.fill(); //充满整个区域 ctx.stroke(); ctx.save(); ctx.moveTo(12, 28); var _x1 = Math.floor(12 + 4 * Math.sin(45)); var _y1 = Math.floor(28 + 4 * Math.cos(45)); //坐标原点 ctx.lineTo(3, 15); ctx.stroke(); ctx.save(); ctx.moveTo(12, 28); ctx.lineTo(20, 14); ctx.stroke(); ctx.save(); ctx.closePath(); } bindEvent(cvs,events,ctx); _arrowDown(); }, //下拉列表图标 select : function(callback) { var id = "selectBtnCvs"; var cvs = $("#" + id); var ctx = getCommon(id, 30, 30); function _arrowDefault() { //画线 ctx.beginPath(); ctx.lineWidth = 3; ctx.fillStyle = "#95A3F3"; //线条颜色 //坐标源点 ctx.moveTo(15, 22); ctx.lineTo(30, 15); ctx.lineTo(15, 7); ctx.fill(); } function _arrowDown() { //画线 ctx.beginPath(); ctx.lineWidth = 3; ctx.fillStyle = "#95A3F3"; //线条颜色 //坐标源点 ctx.moveTo(28, 10); ctx.lineTo(20, 25); ctx.lineTo(12, 10); ctx.fill(); ctx.closePath(); } var _events = { "mouseover" : function(e) { ctx.clear(); _arrowDown(); if (callback) callback(true,e);//回调 }, "mouseout" : function(e) { ctx.clear(); _arrowDefault(); if (callback) callback(false,e)//回调 } } for(var name in _events){ cvs.bind(name,_events[name]); } _arrowDefault(callback); }, blankArrow:{ arrwoDown:function (events){ var id = "expenddivBtnCvs"; var cvs = $("#"+id); var ctx = getCommon(id, 40, 20);//id,宽,高 function _init (){ ctx.beginPath(); ctx.lineWidth = 1; ctx.strokeStyle = "blue"; ctx.fillStyle= "blue"; //坐标源点 ctx.moveTo(3, 3); ctx.lineTo(15, 8); ctx.lineTo(27, 3); ctx.stroke(); ctx.fill(); ctx.closePath(); } bindEvent(cvs,events,ctx); _init();//自己调用 }, arrwoUp:function (events){ var id = "unexpendBtnCvs"; var cvs = $("#"+id); var ctx = getCommon(id, 40, 20);//id,宽,高 function _init (){ ctx.beginPath(); ctx.lineWidth = 1; ctx.strokeStyle = "#95A3F3"; ctx.fillStyle= "#95A3F3"; //坐标源点 ctx.moveTo(3, 8); ctx.lineTo(15, 3); ctx.lineTo(28, 8); ctx.stroke(); ctx.fill(); ctx.closePath(); } bindEvent(cvs,events,ctx); _init();//自己调用 } }, /** * 添加按钮 * @param events */ add:function (events){ }, /** * 修改按钮 * @param events */ modify:function (events){ }, /** * 删除按钮 * @param events */ Delete:function (events){ } }); $.icons = icons; })(window, jQuery);
相关推荐
HTML5是超文本标记语言的最新版本,它引入了许多新特性,如语义化标签(如、等)、离线存储(Application Cache)、音频/视频API、Canvas画布和SVG矢量图等。这些特性使得HTML5能够更有效地构建结构化和功能丰富的...
5. `img/` - 可能包含游戏中的图片资源,如食物图标、蛇的身体部分等。 在`tcs.js`中,可能包含以下几个关键部分: - 初始化函数:设置游戏区域大小,初始化蛇的位置、速度和长度。 - 移动函数:根据蛇头的方向更新...
在HTML5中实现动画,我们主要依赖于Canvas、SVG以及Web Animations API等技术。这篇博客“html5 实现动画(二)”可能是对前一篇文章的延续,探讨了更多关于HTML5动画实现的细节和技巧。 首先,Canvas是HTML5中一个...
1. **Canvas**:Canvas是HTML5中的一个画布元素,通过JavaScript来绘制图形。开发者可以使用Canvas API进行动态绘图,创建出复杂的2D动画。例如,通过clearRect()方法擦除之前的图形,然后重新绘制新的图形,就能...
HTML5和CSS3支持自定义Web字体和图标,这极大地扩展了网页的设计范围。 ##### 5.1 Web字体 通过使用`@font-face`规则,可以将特定的字体文件加载到网页中,从而使网页能够使用这些字体显示文本。 ##### 5.2 字体...
在HTML5中,CSS3(层叠样式表第三版)起着至关重要的作用,它引入了新的选择器、布局模式和动画功能。在"旋转太极"这个例子中,我们可能看到的是一个太极图标的动态旋转效果。CSS3的`transform`属性被用来改变元素的...
在本项目中,"几何图形动画HTML5特效.zip"是一个包含有用资源的压缩包,它聚焦于使用HTML5、CSS3以及可能的JavaScript库(如jQuery)来创建动态的几何图形动画效果。这个项目旨在为网页设计师和开发者提供一套实用且...
HTML5是超文本标记语言的最新版本,增加了许多新特性,如离线存储(离线缓存)、拖放功能、媒体元素(音频和视频)、画布(Canvas)以及SVG矢量图形等,这些都极大地增强了网页的交互性和功能性。在移动应用开发中,...
在HTML5中,一些关键知识点包括: 1. **语义化元素**:HTML5引入了诸如、、、和等语义化元素,使得网页结构更加清晰,有利于搜索引擎优化(SEO)和无障碍访问。 2. **Canvas绘图**:HTML5的<canvas>元素提供了一个...
7. 更新维护:发布后,根据用户反馈进行持续优化和更新,以提升用户体验。 四、《炸屎奇遇记》游戏实例分析 《炸屎奇遇记》作为一款HTML5小游戏,可能包含了简单的物理引擎、动画效果、得分系统和社交分享功能。...
HTML5、CSS、JavaScript、jQuery 是前端开发中的核心技术,它们共同构建了丰富的用户体验。在这个案例中,"html5圆形进度条加载按钮.zip" 文件包含了一个使用这些技术实现的交互式元素,即一个圆形的进度条加载按钮...
第15章 HTML 5中的文件与拖放 280 视频讲解:40分钟 15.1 选择文件 281 15.1.1 通过file对象选择文件 281 15.1.2 使用blob接口获取文件的类型与大小 282 15.1.3 通过类型过滤选择的文件 283 15.2 ...
在这个记事本示例中,HTML5可能使用了`<canvas>`元素来绘制记事本的界面,或者利用`<input type="text">`创建可编辑的文本区域,让用户可以输入和保存笔记。此外,`<section>`、`<article>`等语义化标签也可能被用来...
SVG图标通常更小的文件大小,加载速度更快,同时也支持交互性和动画效果。 在前端开发中,HTML5是现代网页的标准标记语言,它可以与SVG很好地集成。通过在HTML中直接嵌入SVG代码或使用`<img>`、`<object>`或`<svg>`...
- **游戏循环机制**:游戏的更新和渲染通常在一个持续的循环中进行,确保游戏流畅运行。 - **对象实例化**:如何创建和管理游戏中的各种对象,如角色、敌人、道具等。 - **数据结构和算法**:如何有效地存储和操作...
在HTML5中,开发者可以利用一系列新特性来提升用户体验,如: 1. **离线存储**(Offline Storage):通过`AppCache`和`IndexedDB`,HTML5允许网页在用户离线时也能访问部分数据,提高了应用的可用性。 2. **表单...
在当前的移动互联网时代,HTML5和CSS3已经成为构建基于WebKit的Web Page/App的重要技术。WebKit是一种开源的渲染引擎,广泛应用于iOS和Android等智能设备的浏览器,使得开发者能够创建高度交互、功能丰富的Web应用...
【CSS3与HTML5页面过渡】是现代网页设计中不可或缺的一部分,它们为用户带来了更为丰富、动态和交互式的体验。CSS3(层叠样式表第三版)和HTML5(超文本标记语言第五版)的结合,让网页的视觉效果和用户体验达到了新...
例如,`<canvas>`元素提供了在浏览器中进行动态图形绘制的能力,而`<svg>`元素则允许插入矢量图形,这些图形在放大时不会失真,非常适合创建复杂的图形和图标。 SVG是一种基于XML的矢量图像格式,它可以被用来描绘...
解决canvas问题 - 文件编辑器,载入loading去掉 - 删除错误时,或上传错误时也刷新目录。删除提示颜色错误 - 对话框右键 点击右键菜单隐藏修复 - 手机端 touch =双击 - 文件列表 explorer 右键 不清除选才· - ...