随笔分类 -  javascript

摘要:先看两个例子,1,function* f() { for(var i=0; true; i++) { var reset = yield i; if(reset) { i = -1; } }}var g = f();document.write(g.next().value) // ... 阅读全文
posted @ 2015-12-22 17:27 $walker 阅读(1055) 评论(0) 推荐(0)
摘要:如果你有一个div用来做输出控制台,因为内容是不断增加的,那你自然希望这个div或textarea能永远显示最下面一行:var el = document.getElementById('someid');el.scrollTop = el.scrollHeight;你在setTimeout之类的时... 阅读全文
posted @ 2014-06-27 10:14 $walker 阅读(184) 评论(0) 推荐(0)
摘要:pdf.jsMozilla开源的一项用于在HTML5平台上显示pdf文档的技术,Mozilla自己的Firefox浏览器也用了pdf.js来预览pdf,可见应该是一个比较成熟稳定的方案(btw,chrome用的是foxit的技术,国人骄傲啊)。当然类似的方案有很多,并且大多都提供了丰富的api,如果... 阅读全文
posted @ 2014-05-28 18:47 $walker 阅读(6118) 评论(0) 推荐(0)
摘要:参考来源《Radial progress indicator using CSS》,该文核心是用纯CSS来做一个环形的进度条。纯css的意思就是连百分比这种数字,都是css生成的。文章作者采取的方式是生成100个span标签,然后为这100个标签生成100段css代码(用less生成,代码量倒不大,... 阅读全文
posted @ 2014-04-16 19:23 $walker 阅读(5609) 评论(0) 推荐(0)
摘要:html5的form元素对日期时间有丰富的支持问题是,你使用了它们后,发现日期并不是默认在当天的(没有默认任何日期),而且el.value=new Date()也不行,只支持yyyy-MM-ddTHH:mm:ss.SSS(或其部分)这种形式的的字符串:From thedocumentation:A string representing a date.Value: A valid full-date as defined in[RFC 3339], with the additional qualification that the year component is four or more 阅读全文
posted @ 2014-03-20 14:44 $walker 阅读(22261) 评论(0) 推荐(0)
摘要:基础知识,可由此衍生。原文:http://uniapple.net/blog/?p=2050 In this post, I will show you how to upload a file using Ajax (Asynchronous JavaScript and XML) and receive the binary data in Asp.net C#. And it is ult... 阅读全文
posted @ 2014-02-16 18:46 $walker 阅读(518) 评论(0) 推荐(0)
摘要:如果你只是想找一款称手的js加载器,可以参考这篇js loader benchmarks(http://artzstudio.com/files/Boot/test/benchmarks/script.html),即便这篇文章已经例举得够多的了,还是没有涵盖到很多已经广为使用的库,如果要跟你自己熟悉的库来做对比,可以仿照文中的例子自行对比。 我要说的是require.js,可以作为加载... 阅读全文
posted @ 2013-10-16 15:03 $walker 阅读(2249) 评论(2) 推荐(0)
摘要:这是一个典型的循环引用的错误,一个对象里引用自己就会立刻得到这个错误: obj = { x:555, y: "hi" };obj.myself = obj;try{ json = JSON.stringify(obj); alert(json)}catch(e){ alert(e);}演示:http://jsfiddle.net/walker/tqcNm/18/这时候可以利用s... 阅读全文
posted @ 2013-09-13 20:57 $walker 阅读(7451) 评论(0) 推荐(0)
摘要:worker可以让js有多线程一样的特性,什么地方该用呢?写了个例子:http://jsfiddle.net/walker/9angN/(请使用最新版的谷歌或火狐进行测试)。同样一个50亿次的空循环,一个用了worker,一个是普通写法。跑起来明显的区别,worker在后台的时候,整个浏览器是可以响应的,并且页面上的计数器也能非常流畅地跳动;而普通写法是比较考验浏览器的,不那么强悍的浏览器就直接无响应了,并且计数器根本就不工作。结果已经比较明显了,显然worker非常适合后台要做大量运算的耗时长的工作,这样会大大减少浏览器不响应的情况。不适合的地方在哪?我们的主线程和worker是通过post 阅读全文
posted @ 2013-06-06 21:25 $walker 阅读(1040) 评论(0) 推荐(0)
摘要:在angular文档关于$resource一节中,有如下用例:var CreditCard = $resource('/user/:userId/card/:cardId', {userId:123, cardId:'@id'}, { charge: {method:'POST', params:{charge:true}} });其中第二行让人疑惑,@id是什么意思,文档没有过多解释,说明这个问题太简单了,肯定是我想岔了,经过简单测试,第二行中“cardId:'@id'"的解释应为: cardId是resource的U 阅读全文
posted @ 2013-05-15 19:26 $walker 阅读(1199) 评论(0) 推荐(0)
摘要:[5/13更新]1,增加对bootstrap的支持,(仅仅是用了bootstrap的样式,行为还是由本插件接管)2,添加了bootstrap的示例页面现在这种东西网上一抓一大把,而且也都很成熟,自己做一个一是轻量级,完全自定义,二也就一些人问我要一些轻量级插件的时候我推荐给他们用吧,毕竟出了问题我可以直接改,也不需要读别人的代码了,基本需求:1,拖拽插件 可对任意元素生效 允许设置元素能否超出窗体可见范围 如果不可拖出窗体外,同时可设置元素距离窗体四周的边距 (考虑到有些元素有投影等,需要留出边距显示投影) 允许设置拖拽手柄(必须是该元素DOM树的子级) ... 阅读全文
posted @ 2013-04-26 22:58 $walker 阅读(1489) 评论(0) 推荐(1)
摘要:发现一篇博文,讲了js中为什么有对象,却没有“类”,解释为,类是抽象的,对象却是客观存在的,显然不管有没有“类”,对象是可以存在的,于是写了下面有趣的代码,言简意赅, 原文在此 var o = {}; // 我发现了一个东西。 o.eat = function(){return "I am eating."} // 我发现它会吃; o.sleep = function(){r... 阅读全文
posted @ 2013-04-23 22:13 $walker 阅读(408) 评论(0) 推荐(0)
摘要:做插件、存数据我们可能大量用到了data属性,jQuery的data方法很大地方便了我们读取data的值,但是今天发现了一个奇怪的问题,生产系统中取到的值出现了错误,经过反复对比,结果发现是$(element).data(name)这一节在取的时候就出错了,传递给服务器当然会出问题。请看如下演示 http://jsfiddle.net/walker/yPpUR/2/ 当存到data里面的是数字(... 阅读全文
posted @ 2012-07-20 17:14 $walker 阅读(857) 评论(0) 推荐(0)
摘要:写了一个很简单的js正则验证/^\w{2,8}$/,意思是只要有输入即可,不管你输入什么,结果发现输入中文的情况下,总是通不过验证,一翻查找,用[\u4E00-\u9FA5\uF900-\uFA2D]可解决中文问题,但是不能解决其它字符问题,那么就写一起吧/^[\u4E00-\u9FA5\uF900-\uFA2D\w]{2,8}$/ 阅读全文
posted @ 2012-03-30 20:18 $walker 阅读(865) 评论(0) 推荐(0)
摘要:要把一段文字里面符合某个正则的都按一定规则替换成另一段与原文相关的文字,本来是个简单的需求,我刚才居然把全部文字都match出来成为数组,然后再for循环,做完后懵然想起何必这样,replace本来就支持对每一个匹配的组做处理啊,用string.replace(regex,function(element,index){})方法即可,var t="33aabb44aabb55aabbcc";t=t.replace(/\d{2}/g,function(m,i){return "<b>"+m+"</b>";});/ 阅读全文
posted @ 2012-03-15 20:37 $walker 阅读(720) 评论(2) 推荐(0)
摘要:本来都没打算做新版的,旧版稳定运营也不超过半年,结果做着做着新版还是出来了,并且彻底淘汰了ie8以下浏览器。 基本功能和框架也已经全部完全,url也已经重写为bus.fm【新版】和v1.bus.fm【怀旧版和不支持新版的浏览器的跳转】 阅读全文
posted @ 2011-11-22 23:56 $walker 阅读(194) 评论(0) 推荐(0)
摘要:原文地址:http://leyteris.iteye.com/blog/1107597想复制代码练习请点击原文。总是在github down点东西,github整个界面做的不错,体验也很好~对于其中的源代码滑动的特效最为喜欢了~刚开始以为这个只是普通的ajax请求效果,但是发现这个特效能够导致浏览器地址栏跟随变化,并且再点击前进后退按钮后又可以将代码滑回滑出~~于是乎就来研究下吧~一、通过锚点Hash实现: 在这方面其实国内很早就有做了,比如淘宝画报,通过的是在地址栏后面加#锚点实现的,浏览器是可以识别锚点为单位的历史记录的。但不是说页面本身有这个锚点,锚点的Hash只是起到一个引导浏览器将这 阅读全文
posted @ 2011-08-27 15:13 $walker 阅读(503) 评论(0) 推荐(0)
摘要:更新lhgdialog弹窗插件的时候,发现它用了这种方式来引用js脚本: <script type="text/javascript" src="lhgdialog.min.js?t=self&s=chrome"></script>其中,t和s是需要传递到lhgdialog.min.js脚本里面去的参数,我觉得这种用法很有趣,正好写一个js文件的时候碰到了一个问题,我要给一个表格注册一系列事件,比... 阅读全文
posted @ 2011-07-14 15:08 $walker 阅读(4386) 评论(0) 推荐(0)
摘要:1,整理可能用到的写法 /*最流行的写法*/ (function(){ alert("run!") })(); /* !号可以有1~正无穷个,所以这一种就可以衍生无数种方式 */ !!!(function(){ alert("run!") })(); (function(){ alert("run!") }).call(); (function(){ alert("run!") }).apply(... 阅读全文
posted @ 2011-06-30 01:20 $walker 阅读(2551) 评论(1) 推荐(1)
摘要:上篇文章提到了用闭包来解决jQuery中$符号的冲突的问题,现在顺便把闭包的概念复习下,这篇文章讲得比较易懂,全文转载 http://www.cnblogs.com/dewin/archive/2010/06/17/1759477.html 偶尔听人说javascript闭包,让我联想起以前学编译原理和数字逻辑里讲的闭包,以前上课讲的闭包很难懂,而且含有递归的意思在里面,现在不想再查看里面的闭包概... 阅读全文
posted @ 2011-06-24 17:04 $walker 阅读(557) 评论(0) 推荐(0)