毫无疑问,基于表现与结构相分离的原则,直接导入一个新的样式表是最好的选择,但有些情况就行不通,如我们做一个能拖动的DIV,从设置样式的角度看,就是把它绝对定位,以防影响原来的文档流,然后一点点改变其top与left的值实现移动的效果。由于拖动是有时间概念的,一秒24帧,样式表不可能面面俱到都把它们写进去。因此动态生成样式规则与快速修改样式规则是非常有必要的,W3C为此做了大量的工作,在DOM2.0中,扩充了不少接口。 ...
JavaScript变量匈牙利命名法 匈牙利命名法语法: 变量名=类型+对象描述 类型指变量的类型 对象描述指对象名字全称或名字的一部分,要求有明确含义,命名要容易记忆容易理解。 提示: 虽然JavaScript变量表面上没有类型,但是JavaScript内部还是会为变量赋予相应的类型。 提示: 匈牙利命名法是一位微软程序员发明的,多数的C,C++程序都使用此命名法。 JavaScript变量匈牙利命名类型JavaScript变量起名类型 变量命名前缀Array 数组...
JavaScript函数调用规则一 (1)全局函数调用: 代码如下: function makeArray( arg1, arg2 ){ return [this , arg1 , arg2 ]; } 这是一个最常用的定义函数方式。相信学习JavaScript的人对它的调用并不陌生。 调用代码如下: makeArray('one', 'two'); // => [ window, 'one', 'two' ] 这种方式可以说是全局的函数调用。 为什么说是全局的函数? 因为它是全局对象window 的一个方法, 我们可以用如下方法验证: alert( typeof windo...
前言: 密码强度是一个很普遍的功能,比较简单,主要是怎么制定这个强度规则。现在需要升级密码强度的验证,以前的验证比较简单,现在已经不能满足需求了,现在需要可灵活变化并有多级别可配置选择的一个密码强度验证,所以就设计了下面这个东东。在设计前也参考了下比较成熟的强度规则,大同小异,不外乎都采取了打分的机制来控制密码强度规则,这样可配置性高,灵活。本来想直接拿来用的,但是发现都比较旧,有些不太适宜公司开发...
类型转换可以分为隐式转换和显式转换,所谓隐式转换即程序在运行时进行的自动转换,显式转换则是人为的对类型进行强制转换。Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以在运行时被动态改变。请看示 例:var n = 10; n = "hello CSSer!"; n = {};上面的示例中,首先声明n变量并初始化其值为10(整数类型),接着将字符串“hello CSSer!”赋值给n,接着再赋一个对象给它,最后n的类型是对...
1.不要大量使用document.write() 2.检查客户端支持对象的能力(渐进式)而不是检查其客户端,测试要使用的对象。 3.访问既有HTML中的内容而不是通过Js添加HTML(行为层与结构层分离) 4.不要使用专有DOM对象(例如IE的document.all) 5.将脚本放进一个.js文件而不是在HTML中到处可见。 6.对运行良好而且不用客户端编程的网站进行改进,而不是首先添加脚本然后添加非脚本的备用方案。 7.代码要保持独立,不要使用可能与其他脚本冲突...
作用域分配与变量访问规则 在 ECMAScript 中,函数也是对象。函数对象在变量实例化过程中会根据函数声明来创建,或者是在计算函数表达式或调用 Function 构造函数时创建。(关于'函数对象'请见《理解Javascript_08_函数对象》)。每个函数对象都有一个内部的 [[scope]] 属性,这个属性也由对象列表(链)组成。这个内部的[[scope]] 属性引用的就是创建它们的执行环境的作用域链,同时,当前执行环境的活动对象被添加到该对象列表...
代码如下: 代码如下: $(function() { $("#signupForm").validate( //在上例中新增的部分 { rules: { txtPassword1: "required", //密码1必填 txtPassword2: { //密码2的描述多于1项使用对象类型 required: true, //必填,这里可以是一个匿名方法 equalTo: "#txtPassword1", //必须与密码1相等 rangelength: [5, 10] //长度5-10之间 }, txtEmail: "email" //电子邮箱必须合法 } }); }); 远行结果: 注意:在ASP.NET中使用这种...
这个东西让我想起了俄罗斯方块,这个实现起来很简单,容器里面所有的块元素用绝对定位排列,如果能放的下就放在这里,如果放不下了,在队列中找到能放得下的元素放置, 实在找不到,则换行排列下一行,具体思路是这样。代码里有详细的注释直接看代码吧。 下面是一个demo: http://demo.jb51.net/js/2012/sortRect/代码打包下载 sortRect.rar 代码如下: 不规则宽高排列 .box { position: absolute; width: 100px; height: 1...
变量命名还应遵守以下某条著名的命名规则: 著名的变量命名规则Camel 标记法首字母是小写的,接下来的字母都以大写字符开头。例如: 代码如下:var testValue = 0, secondValue = "hi";Pascal 标记法首字母是大写的,接下来的字母都以大写字符开头。例如: 代码如下:var TestValue = 0, SecondValue = "hi";匈牙利类型标记法在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数...
添加CSS的方式有行内式、嵌入式、外链式、导入式 a)动态引入样式表文件: 代码如下: function loadLink(url){ var link = document.createElement("link"); link.type = "text/css"; link.rel = "stylesheet"; link.href = url; var head = document.getElmentsByTagName("head")[0]; head.appendChild(link); } b)嵌入式: 代码如下: function insertStyles(){ var doc,cssCode=[],cssText; var len = arguments.length; var h...
JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等。这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的运算符。 一、JavaScript运算符的种类 1、算术运算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 -- 2、等同全同运算符:== 、 ===、 !== 、 !=== 3、比较运算符: 、 = 4、字符串运算符: 、 = 、 = 、...
jQuery:validate添加自定义验证 jQuery.validator.addMethod添加自定义的验证规则 addMethod:name, method, message 简单实例:单个验证的添加代码如下:validate.js拓展验证$("#tinyphp").validate({ // 添加验证规则 rules: { isZipCode: { //验证邮箱 isZipCode: true } }}); validate.expand.js代码如下:jQuery.validator.addMethod("isZipCode", function(value, element) { ...
将校验规则写到控件中 代码如下: $().ready(function() { $("#signupForm").validate();}); Tips:使用class="{}"的方式,必须引入包:jquery.metadata.js 可以使用如下的方法,修改提示内容:class="{required:true,minlength:5,messages:{required:'请输入内容'}}" 在使用equalTo关键字时,后面的内容必须加上引号,如下代码:class="{required:true,minlength:5,equalTo:'#password'}"JavaScript教程/参考手册 Java...
seajs github 模块标识已经说的相对清楚了。但并没有面面俱到,特别是当你需要手写 【模块ID】和【模块依赖】的时候,或者自己写自动化工具来做 transport 的时候(ps:spm貌似适应性不是很强也不易用,毕竟每个项目的目录结构可能相差很大,且不易改变。当然如果他的定位是包管理工具就别指望它来做你的项目的自动化构建工具了),ID的解析规则就需要了解透彻了。注意事项:1. 顶级标识始终相对 base 基础路径解析。2. 绝对路径和根...