jQuery方法扩展:type, toJSON, evalJSON

jQuery居然都没有JSON的decode和encode,精确类型判断也没有,囧……自己动手写吧!不过这些东西在网上都已经有很好的版本了,自己也不用太费脑筋,拿来用吧!类型判断在这里有一段很好的代码:http://lucassmith.name/pub/typeof.html,JSON的decode和encode就直接用Mootools的吧!(不过Mootools里面的JSON.encode方法还不够完美,我作了一些完善。)

/**
* extension of JSON, type for jQuery
* AUTHOR: [email protected]
* LICENSE: http://www.opensource.org/licenses/mit-license.php
* WEBSITE: http://fdream.net/
*/
(function($) {
    // the code of this function is 

【更新】jQuery 1.3.1的VS智能提示下载

谢谢yzty的提醒,jQuery官方说是修改了一些bug,diff了一下代码,发现主要是selector里面的,主要是逻辑上的变化,接口没有任何变化,赶紧从1.3更新到1.3.1吧!

点击这里可以下载可以在Visual Studio 2008中显示智能提示的jQuery版本(jquery 1.3.1)。(发现jquery官方提供的1.3.1的vsdoc貌似是1.2.6的,有几个方法的参数都和1.3.1都不一样,还有部分代码不一样,囧……)

Mootools的1.3什么时候才可以出来啊,太慢太慢了~…

jQuery 1.3的VS智能提示下载

昨天晚上才发现已经出了jQuery的1.3版本,于是下载下来,把原来一个兄弟翻译的1.2.6的文档移植到了1.3中,点击这里可以下载可以在Visual Studio 2008中显示智能提示的jQuery版本。

相关截图:

从官方的Release notes中可以看到,这一个版本的jQuery性能比上一个版本的jQuery提升了好几倍。

其实我还是很喜欢Mootools,它的写法非常的优雅,不过已经很久很久没有更新过了。使用了这么久,发现其中的问题还是很多的,至少我自己已经修改过几次其中的bug了,它远远没有jQuery来得稳定,不知道下一个版本会不会好一些?然而我还不知道下一个版本什么时候会出来………

Fookie——在JavaScript使用Flash存储本地数据

前几个月的时候就说过在JavaScript应用中使用Flash来存储本地数据,使用这个方式有一个非常大的好处就是:不同的浏览器可以共享相同的本地数据。

现在终于抽空整理了一下以前的应用,作为一个简单的开源项目发布了。在Google Code上的地址是:http://code.google.com/p/fookie/,代码里面有可以在vs中智能提示的文档。

JavaScript类名为Fookie,提供了以下几个Public方法:

  • Fookie.init(swfUrl, options);
  • Fookie.read(key);
  • Fookie.write(key, value);
  • Fookie.remove(key);
  • Fookie.clear();

Mootools常用方法扩展(三)

继续Mootools常用方法扩展,依然还是String类的扩展。

方法:unescapseHTML

说明:这个上次忘了,和escapseHTML正好是一对儿,功能正好相反。

String.implement({
    unescapseHTML: function() {
        ///<summary>
        /// 反转义字符中的HTML代码
        ///</summary>
        ///<returns type="STRING" />
        var htmlChars = ['&~&amp;', '<~&lt;', '>~&gt;'];
        var r;
        var s = this;
        for (var i = htmlChars.length - 1; i >= 0; i--) {
            r = htmlChars[i].split('~');
            s = s.replace(new RegExp(r[1], 'g'),

Mootools常用方法扩展(二)

继续Mootools常用方法扩展,依然还是String类的扩展。

方法:format

说明:一个非常简单的format方法,和C#里面的format类似。这个方法会用参数来依次替换字符串中用大括号{}括起来的数字,比如用第一个参数替换{0},用第二个参数替换{1}等等。

String.implement({
    format: function() {
        ///<summary>
        /// 格式化一个字符串,替换其中用大括号包含的数字及大括号,类似C#的format
        /// 如用第一个参数替换{0}
        ///</summary>
        ///<param name="values..." type="String">相关参数</param>
        ///<returns type="STRING" />
        var s = this;
        for 

Mootools常用方法扩展(一)

收集了我们团队部分常用的方法,我稍微进行了一下整理,贴出来和大家分享。

先从String的扩展开始吧,后面有一部分的扩展要依赖这里扩展的方法。为了更加清晰和详细,我会一个方法一个方法地贴出来,你完全可以把所有的方法合并在一起。

方法:startsWith

说明:这个方法可以判断字符串是不是以指定的字符串开头。

String.implement({
    startsWith: function(s) {
        ///<summary>
        /// 检查一个字符串是不是以某个字符串开头
        ///</summary>
        ///<param name="s" type="String">开始字符串</param>
        ///<returns type="BOOLEAN" />
        return (this.indexOf(s) == 0);
    }
}

简单示例:

不只是MooTools的问题,瑞星已成流氓了

昨天我说瑞星升级最新版后,导致MooTools在IE下报错的问题,仔细看了后,发现不只是报错这么简单。在更多的时候会直接导致IE Crash。不过不只是MooTools有问题,很多用户已经在论坛上反应脚本出错了,比如有这样的:“瑞星升级到2009导致浏览器世界之窗1.4用百度就自动关闭”,不过还有更严重的,比如“更新到2009 本地连接.宽带连接.音量图标都没了”,还有蓝屏一系列问题。不过目前为止还没有官方人员做出相应回答。

貌似这次瑞星是强制升级,问题一下子就凸显出来了,瑞星官方论坛上反映有问题的一堆一堆的,甚至有人非常不满,以致刷屏。

瑞星现在已经非常牛逼,已经牛逼到他的进程你根本没办法干掉,以前听说360安全卫士可以把它干掉,发现瑞星升级后已经干不掉了。就连他的菜单中也没有退出选项,你只能默默地被强奸。

既然被强奸了,那就享受好了,要更舒服点,可以这样子做:

  • 打开“开始”菜单
  • 选择“运行”
  • regsvr32

Mootools 1.2教程(22)——同时进行多个形变动画

原文地址:30 Days of Mootools 1.2 Tutorials – Day 22 – Fx.Elements

通过Fx.Elements同时处理多个形变动画

请尊重个人劳动,转载请注明出处:http://fdream.net,译者:Fdream

如果你还没有准备好开始这一讲,请参考这一系列的教程,这里是《MooTools 1.2系列教程目录》

今天我们来学习一下Fx.Elements插件,这是一个基于Fx.Morph的插件。与应用于单个元素不同的是,Fx.Elements可以允许你一次性给多个元素添加动画。这在你给多个元素添加有相同选项的形变动画时非常有用。就像我们在第20讲中看到的最后一个例子一样。

基本用法

使用Fx.Elements的方法看起来和Fx.Morph差不多。这两者之间的区别在于.start({})方法和.set({})方法。

为了保证事情简洁,让我们首先建立一个元素数组,以用来传递给Fx.Elements。…

Mootools 1.2教程(21)——类(二)

原文地址:30 Days of Mootools 1.2 Tutorials – Day 21 – Classes part II

类——第二部分

请尊重个人劳动,转载请注明出处:http://fdream.net,译者:Fdream

如果你还没有准备好开始这一讲,请参考这一系列的教程,这里是《MooTools 1.2系列教程目录》

Fdream注:原文好像少了一部分,因此我自作主张地补充了下面这一段及BaseClass的代码。

在今天的教程中,我们将主要学习一下MooTools中类的实现和继承(扩展)。通过实现和继承,我们可以在子类中使用父类的方法,而不需要再重新声明和实现相同的方法。MooTools中的Class类可以帮助我们轻松地做到这一点。首先,我们定一个基类(base class)。

var BaseClass = new Class({
    // 定义一个方法testFunction
    // 这个方法弹出一个对话框