十一 30

jquery.form.js 已封装

jquery.form.js封装下载

插件优点

  1. 简简单单几句代码,我们就可以实现表单的提交,并且可灵活通过ajaxSubmit()函数基于任何事件的触发实现表单异步提交。
  2. 支持文件上传功能,并在新浏览器中支持进度条更新。
  3. 与jQuery库完美结合,支持jQuery.ajax()函数触发的各种事件,支持jQuery.ajax()中所传递的参数。

使用方法

插件提供ajaxSubmit和ajaxForm两种表单提交方式,注意:不要对同一个表单同时使用两种方式。 Continue reading

十一 30

jquery.cookie.js

jquery.cookie.js下载

jquery.cookie() 方法:一个轻量级的cookie 插件,可以读取、写入、删除 cookie。

使用方法

1.新添加一个会话 cookie:

  1. $.cookie(‘the_cookie’, ‘the_value’);

注:当没有指明 cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为“会话cookie(session cookie)”。 Continue reading

29

JS、JQuery获取节点的兄弟,父级,子级元素的方法

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。

JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素
复制代码代码如下:

原生的JS获取ID为test的元素下的子元素。可以用: Continue reading

28

JS设置cookie、读取cookie、删除cookie

Cookie 用于存储 web 页面的用户信息。

JS设置cookie、读取cookie、删除cookie、写入cookie、获取cookie实例代码。

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

 

13

js倒计时60秒/获取短信验证码等待60秒代码

代码如下:

 

17

JS去除字符串左右两端的空格

去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim、ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入String对象的内置方法中去。

写成类的方法格式如下:(str.trim();)

写成函数可以这样:(trim(str))

 

26

js克隆函数

1、函数预编译过程 this —> window
2、全局作用域里 this —> window
3、obj.func(); func()里面的this指向obj), 可以这样理解,谁调用func,则this就指向谁
4、call/apply 可以改变函数运行时this指向,
(1)、call用法:
func.call(要改变后的this, arg1, arg2, … );
(2)、apply用法:
func.apply(要改变后的this, [arg1, arg2, arg2]);
(3)、apply和call共同点:都是改变this指向
apply和call不同点:传参形式不同,call是将参数一个个传进来,而apply是将所有参数存进一个数组中,然后将该数组传

对象克隆,分为浅克隆和深克隆,而上边的直接赋值的克隆操作为浅克隆,为什么称为浅克隆呢?因为,克隆的和被克隆的对象在克隆操作完成后,指向同一个地址引用,改变其中一个(注意:此处的改变为增加或删除对象的属性,而不是为该对象重新赋值一个对象),另一个也会改变,而深克隆则不会产生此现象。

深克隆/深拷贝代码如下:

Continue reading

27

解决微信开发报错:config:fail,invalid url domain

解决微信报错:config:fail,invalid url domain

进入微信公众号管理后台,设置 >> 公众号设置 >> 功能设置 >> JS接口安全域名,改成自己的域名。

下面这两项虽然不会引上标题提到的问题,但是也检查一下,修改成自己的域名。

设置 >> 公众号设置 >> 功能设置 >> 业务域名

设置 >> 公众号设置 >> 功能设置 >> 网页授权域名

20

js如何创建类(封装)

JS封装或者说是JS创建类,会有以下功能:

  • 构造器
  • 静态属性,静态方法
  • 共有属性,共有方法
  • 私有属性,私有方法

本文就说说如何用js实现对类的封装,实现上述功能,

1.一个简单的类

如何你觉得Ta不像类的话,那么你可以这样做

如果对于构造函数模式不太清楚的话,可以看看这里js创建对象之设计模式

2.一个复杂的类

有了上面的例子之后,我们在此基础之上就可以进行我们的完善了。

js中利用上述的模拟方法,实现了对类的创建,在此基础上,我们不安现状,想要对他进行封装,让他成为一个整体,更利于体现js的封装性。

3.封装js类

这里我们用闭包来实现,首先解释下闭包的概念。
闭包概念:一个函数有权访问另一个函数作用域中的变量,即在一个函数内部创建另一个函数

实现如下:

调用如下:

如上面的代码一样,我们就用js实现了类

总结:

  • 有些公共属性,方法,可以设置为静态的,这样可以在每次实例化的时候,不需要额外开辟内存资源,达到真正意义上的共享,
  • 有些公共的属性方法,只想在内部程序处理时候达到共享,则设置为,静态私有属性方法,
  • 有些公共的属性方法,想在实例对象中达到共享,则设置为prototype属性方法,