`
文章列表
HTML5 Canvas实战   function clockTest() { var canvas = document.getElementById('canvas'); if (!(canvas && canvas.getContext)) { return; } var ct = canvas.getContext('2d'); var w = canvas.width = 500; var h = canvas.height = 300; var r1 = 95; v ...
function CrossDomainName(target, agent, callback, security) { if (typeof target !== 'string' || typeof agent !== 'string' || typeof callback !== 'function') { throw '参数错误'; } this.state = 0; this.target = target; this.agent = agent; this.callback = callback || Function; this.securit ...
大部分人非常在意个人在技术上的提升。但是保持对新技术的了解是一项不小的挑战, 毕竟我们需要的信息在数量上过于庞大。2012年里,伴随着前端发展的是大量的革命性突破和对前端的重新定义。 我们在实践的路上飞速前进,具体的进步体现在使用抽象化,优秀的代码质量,维护性上的提升以及更好的性能。如果你实在忙到没有时间来跟上最新的技术,不用担心。 随着假日的来临,我们就有了一些空闲的时间可以自己支配,我想,如果我把我收集的前端相关的精品讨论列表分享出来,那一定会对大家有一些帮助。你不需要把所有的都阅读一遍,但是这些相关的建议会让你了解更多相关的知识,为明年成为一名更好的前工程端开发师做准备。 基础 ...
我们经常使用动态加载Javascript,写个函数很容易现实,之前也写过一个函数,不过当加载多个JS时,只能根据浏览器返回的顺序来先后加载,这肯定不是我们想要的,现在使用了一下技巧,当加载多个JS时,能按照我们的顺序加 ...
我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些。找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来。我也做了一个jQuery性能优化的简明样式表,你可以打印出来或者设 ...
我们经常遇到JS 跨域的问题,跨域的解决方案有很多,JSONP是非常常用的跨域解决方案,这里封装了一下JSONP:   function getJSONP(url, callback) { if (!url) { return; } var a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; //定义一个数组以便产生随机函数名 var r1 = Math.floor(Math.random() * 10); var r2 = Math.floor(Math.ra ...
体验了一下HTML5 在HTML5中,除了Canvas元素之外,另一个新增的非常 重要的功能就是可以在客户端本地保存数据的Web Storage功能,我们知道,在HTML4中可以使用Cookies在客户端保存诸如用户名等等简单的用户信息,但是长期的实际使用下来,人发现用 Cookie储存永久数据存在以下问题: 大小:cookies的大小被限制在4K。带宽:cookies是随HTTP事务一起被发送的,因此会浪费一部分发送cookie时使用的带宽。复杂性:要正确地操纵cookie是很困难的。 在这种情况下,在HTML5中重新提供了一种在客户端本地保存数据的功能,它就是Web Storage功 ...
<!DOCTYPE HTML> <html lang="en-us"> <head> <meta charset="utf-8"/>     <title>JS计算时间差</title>     <meta name="generator" content="kingwell"/>     <meta name="author" content="kingwell"/>     &l ...
Javascript Math.ceil()与Math.round()与Math.floor()区别: Math.ceil()向上舍入 alert(Math.ceil(20.1)) //输出 21 alert(Math.ceil(20.5)) //输出 21 alert(Math.ceil(20.9)) //输出 21    Math.round标准的四舍五入 alert(Math.round(20.1)) //输出 20 alert(Math.round(20.5)) //输出 21 alert(Math.round(20.9)) //输出 21    Math. ...
最近项目中用到了Linux命令,这个东西平时用得不太多,之前也有接触过,只是用得少就忘记了。 现在找了一些常用的命令,学习一下,比较实用:   vi 常用命令行 1.vi 模式    a) 一般模式: vi 处理文件时,一进入该文件 ...
现在是一个推崇结构,表现,行为想分离的时代,最大的好处就是维护起来比较简单,方便,代码重用。把CSS,JS写在HTML里,就像一个大杂烩,很难理解,可读性差,文件大,维护起来非常麻烦。   但是CSS到底是内联还是外联呢?我们只要分析它的特点就不难得出答案。 CSS内联:就是把CSS放在HTML Head里使用Style包围。<style type="text/css"></style> CSS外联:就是把CSS放到一个单独的文件里,然后在HTML通过调用。<link rel="stylesheet" type=&qu ...
有时候,特别是在Ajax请求返回数据时我们需要知道返回数据的结构,如果是Object,使用Alert是打印不出来的,使用Firebug中的 console 可以查看,我自己写了一个函数,有点像这个,有时候觉得使用console还不够直观,所以自己想办法写一个,不过现在支持的层级就三层,多了就不行了,多了就出现object。   if(!window.debug){ window.debug = {};//选择一个自己的命名,千万别跟别人的冲突 }; debug.info = function(obj){ if (typeof _deBugStatus_ !== "und ...
一:在Javascript里,如果克隆对象是基本类型,我们直接赋值就可以了: var sStr = "kingwell"; var cStr = sStr; alert(cStr);//输出kingwell sStr = "abc"; alert(cStr);//输出kingwell;  把一个值赋给另一个变量时,当那个变量的值改变的时候,另一个值不会受到影响。   二:如果不是基本类型,那就有所有不同了: var aArr = [0,1,2,3]; var m = aArrr; alert(m);//输出1,2,3 aA ...
如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。   有两种使用方法:   方法1:   <label for="userName">用户名:</label><input type="text" id="userName"/>     方法2: <label>用户名:<input type="text"/></label>     当在单选 ...
最近一个项目,要在静态页面上上传附件(头像),如果是动态网页就比较好做,但是静态页面就要采用另外的解决方案,其中的一种方法就是使用iframe, <form action="服务器地址" target="uploadImage" method="post" enctype="multipart/form-data"> <input type="file" /> <input type="submit" /> </form> ...
Global site tag (gtag.js) - Google Analytics