Mootools 1.2教程(12)——用Drag.Move实现拖拽和拖放

原文地址:30 Days of Mootools 1.2 Tutorials – Day 12 – Drag and Drop using Drag.Move

使用MooTools 1.2中的Drag.Move来实现拖放

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

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

今天我们开始第十二讲,今天我们将仔细看一下Drag.Move——一个很强大的MooTools类,它可以让你给你的web应用添加拖放功能。它的使用和我们见过的其他的插件类似:首先你使用“new”关键字来创建一个Drag.Move对象并赋值给一个变量,然后你再定义你的选项和事件。这就是全部要做的事情,不过你一定要注意一下下面的例子中描述的IE的CSS怪异现象。

基本用法

Drag.Move

创建你自己的拖动对象非常的容易。稍微看一下下面的例子就行了。注意一下我们是怎么把我们的Drag.Move对象的选项和事件从我们的Drag选项和事件中分离出来的。Drag.Move类扩展了Drag类,因此它可以接受Drag类的选项和事件。今天我们并不打算特别地讲一讲Drag类,不过我们还是要研究一下一些有用的选项和事件。看一下下面的代码,然后学习一下其中的细节。…

Mootools 1.2教程(11)——Fx.Morph、Fx选项和Fx事件

原文地址:30 Days of Mootools 1.2 Tutorials – Day 11 – Using Fx.Morph, Fx Options and Fx Events

MooTools 1.2的Fx.Morph、Fx选项和Fx事件

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

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

今天,我们继续探索一下这个库的Fx部分,我们将学习如何使用Fx.Morph(它从本质上可以让你同时渐变多个样式表属性),然后我们再检查一下应用到Fx.Tween和Fx.Morph的一些Fx选项,最后我们将看看如何使用Fx事件,譬如“onComplete”和“onStart”。通过这些选项和事件,我们可以获得更好的控制权来控制形变动画。

Fx.Morph

创建一个新的Fx.Morph

初始化一个新的形变和创建一个新的渐变很类似,除了你要指定多个样式属性以外。…

JavaScript类型转换太变态,慎用

JavaScript的是弱类型的,但是在很多操作中,它会自动进行相应的类型转换,可能很多人都知道下面这样的变态类型转换:

// 下面这个等于80.8
alert('88.8' - 8);
// 下面这个等于'88.88'
alert('88.8' + 8)

上面的这个很好理解,JavaScript在做减法运算时,会自动把字符串转换为Number,在做加法时,只要是和字符串相加,那么肯定会把数字转换为字符串。但是,但是很少有人知道下面这样变态的类型转换:

var x = '0E8888';
alert(x == 0);        // 这个是true
if (x >= 0) {
    alert('x >= 0');  // 这个也是true
}
if (x < 0) {
    alert('x < 0');
}

如果说我们这样理解:在做比较运算时,会自动把字符串转换为数字,所以’0E8888’被转换为0,所以上面的结果没有任何问题。那么下面的就没办法解释了:…

Mootools 1.2教程(10)——Fx.Tween的使用

原文地址:30 Days of Mootools 1.2 Tutorials – Day 10 – Using FX.Tween

MooTools 1.2的渐变

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

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

今天我们开始第三讲,我们今天主要看一下Fx.Tween。和我们看到的其他的MooTools函数一样,这些方法使用起来都非常简单,但是功能都很强大。Tween可以让你添加那些极“炫”的效果——可以很平滑地发生形变动画,从而改善你的用户体验。

Tween的快捷方法

我们通常都从“基本知识”入手,不过MooTools 1.2只为渐变(tween)提供了这样极其出色的快捷方法,它们使用起来都极其简单以至于我忍不住要从这里开始。

.tween();

一个渐变(tween)是一个在两个样式属性值之间的平滑的变化。举个例子,通过渐变(tween)你可以把div的宽度(width)平滑地由100像素变化为300像素。…

Adobe的JSON转换类还不够完美

JSON格式的数据还是很方便的,在JavaScript中使用非常广泛。因此在Flash和JavaScript的交互中,使用JSON格式把数据传递给Flash也是一个很不错的选择。不过用AS3(ActionScript 3)来解析JSON是个麻烦的事情,还有有Adobe有相关的API——有一个com.adobe.serialization.json包,可以用来解析JSON格式的数据,并转换成和JS中类似的对象。

这个包使用起来非常简单,如下:

// 这是JSON格式的数据
var str:String = '{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" }';
// 转换为对象
var obj:Object

Mootools 1.2教程(9)——输入过滤第二部分(字符串)

原文地址:30 Days of Mootools 1.2 Tutorials – Day 9 – Input Filtering Part II (Strings)

输入过滤第二部分(字符串)

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

字符串函数

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

今天我们来看一看MooTools给我们提供的额外的一些处理字符函数。这只是MooTools字符串处理中的一部分,并不包含一些神秘的函数(比如toCamelCase())和使用正则表达式处理字符串的函数。我们会在以后另外用一讲来将一下正则表达式的基本知识和在MooTools下的使用。

在开始之前,我想先花一点时间来看一下字符串函数是怎么调用的。在我的例子中,我是在字符串变量上面直接调用这个方法的,就像下面的这样:

var my_text_variable

浏览器对Cookie的限制

中午写上一篇日志的时候翻到这篇文章的,不过因为要上班,没来得及翻译,现在翻译一下贴在这里,供大家参考。

======我是无辜的分割线=====

原文地址:Browser cookie restrictions

我一直在为我接下来的一本书做一些关于cookie的研究,在这个过程中我碰到了一些关于浏览器处理cookie的有意思的事情。我从寻找浏览器允许每个域保存的cookie个数开始。这个结果很有趣:

  • 微软表示,Internet Explorer 8增加了每个域可以保存的cookie个数至50个,不过我发现IE7也允许每个域保存50个cookie。当然,这可能是因为一个系统补丁增加的,而不是这个浏览器版本一开始就是这样,但是仍然超过了通常认为是20个的限制。
  • Firefox允许每个域保存50个cookie。
  • Opera允许每个域保存50个cookie。
  • Safari/WebKit是这其中最有趣的,因为它似乎没有明显的限制,一直到Safari

在JavaScript应用中使用Flash来存储本地数据

最近在Google Reader里面看到的,一日本人在blog上提出来的,他还有一个示例页面,这里是Demo下载地址。不过在看到这篇文章之前,我就已经在我们的项目(PPLive iKan 1.0)中用过了,其中的观看历史记录就是使用的Flash来进行存取的。

其实Flash在JavaScript应用程序中当“幕后英雄”的例子早就有过了,最先是为了解决用JavaScript复制文本的问题,用Flash这可以轻而易举地解决跨浏览器问题。我之所以想到用Flash来存储观看记录是因为我觉得用Flash来保存更有优势:

  • 存储方式可靠

JavaScript中存储本地数据的常见方式是使用Cookie,还一种方式是使用UserData。写Cookie的方式也很可靠,读写都非常的容易,但是UserData有时候却不是那么可靠,不知道为什么有时候清理Cookie都会带来莫名奇妙的问题,造成UserData无法写入或者无法读取的情况,很诡异。…

QQ邮箱的Web QQ聊天

昨天开QQ邮箱的时候,发现联系人旁边多了个小图:

点开一看,还真是个Web QQ:

展开,鼠标移上去可以看到联系人信息:

找个人聊天试试,自己用另外一个号登陆了,版本是QQ 2009 Preview 3,打开一看,发现提示不支持,囧:

再找个人,发现也不支持,看来那人也用的是QQ 2009,不过她是隐身的,居然提示不支持,直接暴露了隐身状态,再囧:

好了,总算找到个人,没有提示不支持,发消息,居然弹出个提示,要求输入验证码,请允许我再囧一次:

还好,输入验证码以后就可以正常聊天了,返回的消息没有发到我的QQ客户端上,很好:

不聊的时候可以收起来,成这样:

有消息来的时候会有消息提示音,这个地方会闪烁,浏览器的标题栏也会闪烁:

不过这个Web版的QQ支持IE浏览器和Firefox,不支持Chrome……看了一下,基本上是每隔15秒向服务器轮询一次消息。…

给本本装上了内置蓝牙模块

很早就有这个想法,周日的时候无聊,早上起来上网搜了一下,发现ASUS A8的内置蓝牙模块型号叫做BT-183,已经有人成功安装过了,而且还可以不破坏保修标签,于是心和手更痒了。接着去淘宝搜了一下,还真有卖这个模块的,于是买了一个。经历三天遥远的路途,从吉林到上海,今天总算到了。那人用一个快递信封给我快递过来的,打开一看,就看见几块硬纸板,绑得严严实实的,似乎没有东西的样子,我还以为那卖家忽悠我呢!拆开一看,这蓝牙模块也真够小的!

晚上回家来,照着这篇教程(华硕蓝牙模块安装手册 BT-183)装了一遍,第一次这样拆笔记本,还真是有点为难,尤其是把蓝牙模块塞进笔记本的那个地方,太麻烦了!一哥们在旁边起哄:“第一次嘛,要进去是要麻烦点!”囧死了!还好试了几次就进去了,再用镊子轻轻按了几下,总算是插紧了,然后把模块和线收好,这个地方太麻烦了,那线的弹性太TM的好了……

不过总算搞定了,装上螺丝,开机,装驱动,按下蓝牙功能键,成功了!…