随笔分类 - [10]JS
-
mvc的验证
摘要:mvc的验证锦上添点花(2)上一篇文章我们演示了通过对jquery.validate.unobtrusive.js做点小修改,如何给MVC的验证添点花主要还是修改了onError与onSuccess中的这两个方法这两个方法也是用来显示/隐藏验证信息的关键代码我根据自己的理解,把这两个方法加上了详细的中文注释请大家多多指正: //每次执行完验证的时候,都会来这里(不论成功或失败) //在这里可以控制验证提示消息的显示或隐藏 //error:包含验证提示消息的标签,是一个Jquery对象 //如果验证通过的话是这样子: //如果验证通过的话是这样子:UserCode 字段是... 阅读全文
-
javascript的关键所在---作用域链
摘要:javascript的关键所在---作用域链javascript里的作用域是理解javascript语言的关键所在,正确使用作用域原理才能写出高效的javascript代码,很多javascript技巧也是围绕作用域进行的,今天我要总结一下关于javascript作用域的相关知识。 很多人使用javascript时候会把{}作为作用域的边界,所以我们可以看看下面的代码:function ftn01(){ var i = 1; if (i == 1){ var a = "ok"; } console.log("a = " + a);// a = ... 阅读全文
-
NodeJS的url信息截取模块url-extract
摘要:NodeJS的url信息截取模块url-extract2013-09-12 22:49 by Justany_WhiteSnow,212阅读,0评论,收藏,编辑上一篇文章,介绍了怎么利用NodeJS + PhantomJS进行截图,但由于对每次截图操作,都启用了一个PhantomJS进程,所以并发量上去后,效率堪忧,所以我们重写了所有代码,并将其独立成为一个模块,方便调用。如何改进?控制线程数,以及单线程处理url数量。使用Standard Output & WebSocket 进行通讯。添加缓存机制,目前使用Javascript Object进行。对外提供简易的接口。设计图依赖 &a 阅读全文
-
理解的javascript自定义事件
摘要:理解的javascript自定义事件被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一段时间,好在最近这些事情都一件件趋于平息,我也有了精力继续写文章。 这个自定义事件其实是挺让我纠结的,首先自己平时从未使用过,只是有一次遇到一个问题有人指点说可以用自定义事件,才对这个东西有了印象。在网上搜“javascript自定义事件”,发现也有不少文章在写,不过说实话让我佩服的却一篇也没找到,就连张鑫旭大哥写的漫谈javascript自定义事件也把我看的. 阅读全文
-
jquery mobile Checkbox动态添加刷新及事件绑定
摘要:jquery mobile Checkbox动态添加刷新及事件绑定在微信项目中,涉及到一个多选功能。数据来自后台数据库,需要动态加载。项目结构:微信api+web app。使用jquery mobile框架和jquery mobile ui.ui我使用的是扁平化样式,大家可以这里查看。[jquery mobile扁平化设计样式--Jquery mobile Flat UI介绍]本来想做这个效果的,可惜没有时间研究出来。先将就用了这个效果:思路:Ajax(使用的是Webmethod)获取数据库的数据,组成集合返回给jsjquery遍历数据,动态绑定到ui。多选控件首选:checkboxs每个ch 阅读全文
-
Razor.js,基于JavaScript的Razor实现
摘要:Razor.js,基于JavaScript的Razor实现哈罗大家好,之前造了JS模板轮子Otmpl,虽然勉强算不错,但是和MVC Razor的简洁优雅相比,简直是惨不忍睹。经过几天的研究,终于在参考国外一些牛人的代码后,展现出第一版,欢迎各位园友拍砖讨论。支持的 Razor 特性if-else 判断。do-while 循环。while 循环。for 循环。helper 方法。`*注释*`。示例代码1(为了在MVC中使用,我采用Esc键下面的“`”符号代替“@”。 基于 JS 的微型 Razor 引擎 `helper test(index){ ret... 阅读全文
-
100个直接可以拿来用的JavaScript实用功能代码片段
摘要:100个直接可以拿来用的JavaScript实用功能代码片段把平时网站上常用的一些实用功能代码片段通通收集起来,方面网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率。目录如下:1、原生JavaScript实现字符串长度截取2、原生JavaScript获取域名主机3、原生JavaScript清除空格4、原生JavaScript替换全部5、原生JavaScript转义html标签6、原生JavaScript还原html标签7、原生JavaScript时间日期格式转换8、原生JavaScript判断是否为数字类型9、原生JavaScript设置cookie值10、原生JavaScri 阅读全文
-
JavaScript原型与继承
摘要:JavaScript原型与继承原型在JavaScript中,每个函数都有一个prototype属性,这个属性是一个指针,指向该函数的原型对象。这个原型对象为所有该实例所共享。在默认情况下,原型对象包含一个属性叫做constructor,它指向prototype属性所在的函数指针。图片和例子来自《JavaScript高级程序设计(第三版)》。?1234567891011functionPerson () {}Person.prototype.name = 'Nicholas';Person.prototype.age = 29;Person.prototype.job = 阅读全文
-
jQuery 2.0.3 源码分析Sizzle引擎解析原理
摘要:jQuery 2.0.3 源码分析Sizzle引擎 - 解析原理声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢!先来回答博友的提问:如何解析div > p + div.aaron input[type="checkbox"]顺便在深入理解下解析的原理:HTML结构 Sizzle 选择器语句div > p + div.aaron input[type="checkbox"]组合后的意思大概就是:1. 选择父元素为 元素的所有子元素 元素2. 选择紧接在 元素之后的所有 并且class="aaron " 阅读全文
-
jquery.validate.unobtrusive.js实现气泡提示mvc错误
摘要:改写jquery.validate.unobtrusive.js实现气泡提示mvc错误个人对于这个js、css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblogs.com/wifi/articles/2918950.html当中的第一种写法。对于mvc中默认的错误提示,是使用@Html.ValidationMessageFor这个来生成个这种的html标签,但是对于span首先它得占页面的空间,而且我需要它里面有字的时候才显示,没字的时候就得隐藏,css不好弄,所以就得改这个jquery.validate.unobtrusive.js来实现。(当然mvc中 阅读全文
-
javascript中的this
摘要:牢骚与javascript中的this最近在看关于拖延症的一本书《拖拉一点也无妨》,后面得出结论是自己写博客大部分处于两种状态,心情很好和心情很不好的时候。因为正常状态下感觉写博客吧,是件很麻烦的事情,不如去看看电影看看漫画啥的。最近在看漫画《进击的巨人》和《一拳超人》,感觉是两种极端,哈哈。 最近在进行某个项目的重写工作,前后端都要重新构架重写,时间给了一个月。项目的现状大概是后端一个类有一万行左右,包含几十个方法。每个方法从一两百行到上千行不等,大部分方法是没有参数和返回值的,全局的操作几百个成员变量。业务需求不明确,没人能说得清,反正任务就是在不影响现有的功能的情况下重构+重写。现... 阅读全文
-
jQuery-轮播图
摘要:jQuery-轮播图(友善滴滚动切换)线上实例:http://www.lgyweb.com/slider/【处理】这里的图片滚动轮播,做了点小处理:当在第1页状态时,你点击第5页,图片的滚动是一张滑过,而不是从2-3-4-5(这种的多张滚动,看得头晕眼花);实现的做法是:剩下的就是源代码分享了:-------css----------------View Code-----------HTML---------------------View Code-------------JS--------------/*----使用说明结构必需一致;多次调用时,最外层赋予不同的id或类名即可*//*- 阅读全文
-
jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别
摘要:jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别现在做的一个项目,所使用的框架是基于jQuery扩展的,于是平时学了一下jQuery,了解到了它的扩展函数:extend关于这个函数,这篇文章已经做了很好的介绍,这里只是补充一下我的疑问和见解。当我读了上面链接的这篇文章后,产生了个疑问:$.extend和$.fn.extend到底区别在哪呢?API说前者是将扩展成员合并到全局对象中去,后者是将扩展成员合并到实例对象中去。我看不明白这两句话,于是亲自试了一下,结果发现,两个函数的作用貌似是一样的,都是将后面几个参数所指定的扩展成员合并到第一个参数对象中。接 阅读全文
-
Javascript判断两个日期是否相等
摘要:Javascript判断两个日期是否相等大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等。例如:var date1 = new Date("2013-11-29");var date2 = new Date("2013-11-29");console.log(date1 == date2); //false这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false。这是因为date1、date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用 == 来 阅读全文
-
JS面向对象思想(OOP)
摘要:JS面向对象思想(OOP)直接看js好了,模拟创建一个奥运会function 奥运会Class(主题) { // 删除主题 // delete this.主题; this.主题 = 主题; this.开幕时间; this.闭幕时间; this.公告簿 = ""; //模拟开幕 this.开幕 = function () { this.开幕时间 = "2012年7月28日03时12分(北京时间)"; this.公告薄 = "奥运主题:" + this.主题 + "\n" + "开幕时间:" + t 阅读全文
-
迷你MVVM框架 avalonjs 0.95发布
摘要:迷你MVVM框架 avalonjs 0.95发布本版本最主要的改进是ms-with 深层绑定的实现,至少,avalon1.0所有重要的feature已经开发完毕,之后就是小补小漏,性能优化了。ms-with进行绑定。对VM的某个对象属性重新赋给它一个对象,那么页面上对应的列表将根据它的键值对重新排列增删,修改它的$val。如果对它的对象属性的某一个键重新赋值 ,只会进行更新操作,详见index21with.html, index22with.html, index23with.htmlms-with, ms-each内部大重构,使用虚拟代理模式进行性能优化。$watch, $unwatch进行 阅读全文
-
Jquery文本框值改变事件兼容性
摘要:Jquery文本框值改变事件(支持火狐、ie)Jquery值改变事件支持火狐和ie浏览器,并且测试通过,绑定后台代码可以做成autocomplete控件。具体代码列举如下:?$(document).ready(function () {$("#UnitName").focus(function () {var bind_name = 'keyup';if(navigator.userAgent.indexOf("MSIE") != -1){ bind_name = 'input propertychange'; }$(th 阅读全文
-
分析Sizzle引擎 - 词法解析
摘要:分析Sizzle引擎 - 词法解析声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢!浏览器从下载文档到显示页面的过程是个复杂的过程,这里包含了重绘和重排。各家浏览器引擎的工作原理略有差别,但也有一定规则。简单讲,通常在文档初次加载时,浏览器引擎会解析HTML文档来构建DOM树,之后根据DOM元素的几何属性构建一棵用于渲染的树。渲染树的每个节点都有大小和边距等属性,类似于盒子模型(由于隐藏元素不需要显示,渲染树中并不包含DOM树中隐藏的元素)。当渲染树构建完成后,浏览器就可以将元素放置到正确的位置了,再根据渲染树节点的样式属性绘制出页面。由于浏览器的流布局,对渲染树的计算 阅读全文
-
jQuery获取checkbox选中项等操作及注意事项
摘要:jQuery获取checkbox选中项等操作及注意事项今天在做一个项目功能时需要显示checkbox选项来让用户进行选择,由于前端不是很熟练,所以做了一个简单的Demo,其中遇到一些小问题,特记录下来,希望能帮到遇到类似问题的同学们。1. 获取checkbox的选中项2. checkbox选项的全选 反选操作用于测试的checkbox代码段: 一年级 二年级 三年级 四年级 五年级 六年级 七年级 八年级 ... 阅读全文
-
Event处理
摘要:Event处理今天抽时间写了一部分Event处理方面的函数愈发的觉得jQuery的优秀,自己前期的想法太粗糙,造成后面这些函数参数很多,操作很很不直观,看样子是要重构的节奏,还好小伙儿伴们安慰,架构都是改出来的。继续探索吧浏览器兼容性写Event处理的库函数一个难点就在于浏览器兼容性问题,在IE低版本浏览器中事件对象始终在window.event属性中,而在其它浏览器中event会作为事件处理程序中作为第一个参数传入。而且其Event对象的属性和方法也有诸多差异,在JavaScript与HTML交互——事件中基本有所总结,不过还是抄一段关于事件处理程序绑定方面的差异1. 参数个数不相同,这个最 阅读全文