Fdream's Blog
专注于WEB前端开发
Powered by Google
14 5 6 7 8 9 10 11 1283

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

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

基本用法

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

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

参考代码: [复制代码] [保存代码]

var fxElementsArray = $$('.myElementClass');

现在我们就可以把我们的数组传递给Fx.Elements对象了...

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

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

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

参考代码: [复制代码] [保存代码]

var BaseClass = new Class({
    // 定义一个方法testFunction
    // 这个方法弹出一个对话框
    testFunction : function(){
        alert('This function is defined in BaseClass');
    }
});

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

今天将不只是受限于这个库和一些基本的编程知识,我们来做一个简单的小项目。通过使用我们目前为止已经学过的一些知识,有几种方式来创建当鼠标移上去或者点击时显示相应内容的tab。

简单的“额外信息”标签(TAB)

鼠标移上去显示内容的TAB

在这第一个项目中,我们要创建一个简单的菜单,当鼠标移动到这些菜单上时显示相应的内容。首先,我们来完成HTML代码——我们就用包含四个列表项的ul好了,然后再创建四个div(每一个div对应一个列表项):

参考代码: [复制代码] [保存代码]

// 这里是我们的菜单
<ul id="tabs">
    <li id="one">One</li>
    <li id="two">Two</li>
    <li id="three">Three</li>
    <li id="four">Four</li>
</ul>
 
// 这里是我们的内容div
<div id="contentone" class="hidden">content for one</div>
<div id="contenttwo" class="hidden">content for two</div>
<div id="contentthree" class="hidden">content for three</div>
<div id="contentfour" class="hidden">content for four</div>

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

今天我们将来看一下MooTools绑定的Tooltip插件。通过“提示(Tips)”,你可以轻松地自定义一个包含一个标题和内容的工具提示,可以自定义样式,自定义淡入淡出渐变效果。我们还将仔细学习一下工具提示的选项和事件,还有一些用来从元素上添加和移除工具提示的工具。最后,我们将学习一下怎么让一个页面有多个不同样式的工具提示。

基础知识

创建一个新的工具提示

创建一个新的工具提示非常简单。首先,我们来创建一个要添加工具提示的链接:

参考代码: [复制代码] [保存代码]

<a class="tooltipA" title="1st Tooltip Title" rel="here is the default 'text' of 1" href="http://www.consideropen.com">Tool tip 1</a>

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

今天我们将讲一下用MooTools来创建和使用类的一些基本知识。

简单地讲,一个类就是一个容器,这个容器包含了一些变量集合和操作这些变量的函数,以便实现特定的功能。在一个内容牵涉较多的项目中,类会显得难以置信的有用。

变量

在前面一系列的课程中,我们已经学习过了Hash对象中键值对(key/value pair)的使用方式,因此,下面的这个例子中创建了一个类,它只包含了一些变量,你看起来可能会觉得非常的熟悉:

参考代码: [复制代码] [保存代码]

// 创建一个名为class_one的类
// 包含两个内部变量
var Class_one = new Class({
    variable_one : "I'm First",
    variable_two : "I'm Second"
});

浏览器的战争已经是硝烟弥漫了,无论是新生者Chrome,全新的Firefox 3,还是没有完全出来的IE8,还有宣传不够却很强大的Opera,还有Apple的Safari……等等等等,他们之间的针锋相对已经是越来越明显了,无论是从用户角度还是从开发者角度,每个浏览器都在不断地创造和超越着,浏览器的发展从来没有像现在这样地迅速过。

浏览器显然已经成为这个时代的宠儿,就连搜狐都忍不住要在这个时候插入进来,搜狐王小川说将于年内推出网页浏览器

而出于对丰富互联网应用的需要,解决ActiveX不能夸平台的问题,Google似乎有一统浏览器插件标准的意思。在刚刚推出Chrome不久以后,再次来了一个大手笔——[url=http://www.cnbeta.com/articles/71827.htm]推出了Native Client(开源项目地址:http://code.google.com/p/nativeclient/),目前支持Google Chrome, Firefox, Safari 和Opera,而唯一不支持的就是IE。这样的格局确实比较囧——因为现在的IE用户是在是太多太多了...

项目完成得差不多了,空余时间就用我的另外一台测试机上了装了个虚拟机,然后在虚拟机里装了个Ubuntu 8.10,这样子做主要是为了切换多个操作系统比较方便,这样子这台机器上就有两个操作系统,加上我的一台工作机就有三个不同的操作系统了,这样才比较好玩比较方便。

以前只尝试过Red Hat和Fedora Core,没有试过Ubuntu,这次于是就换了个Ubutu,完全是好奇,当然了,还有一个很重要的原因:体积很小,600多兆,十几分钟就下完了,非常的爽!Ubuntu的安装速度也很快。

第一次使用Ubuntu最不习惯的还是不能直接使用root登录,也不能su到root,装个软件或者改个配置文件都只能sudo,比较的不爽。不过相对地,apt-get是在是太方便了,几乎什么都有。

不过上网的事情搞的很郁闷,Ubuntu不知道怎么每次重新启动都会把我的eth0的配置改成auto,即使是改了/etc/network/interfaces也不起作用,后来只好换了一种方法,另外添加了一个eth1的配置,这样子就不会被系统改动了。不过改的过程中一不小心注释掉了“iface lo inet loopback”,导致我可以ping通给这个机器指定的ip,却始终不能ping通localhost(127.0.0.1),外面机器也无法ping通这个Ubutntu的ip,不过“sudo ifconfig lo 127.0.0.1 up”一下就好了~

Firefox速度快,可惜就是爱缓存,即使你在HTTP请求头部里面设置了no-cache,或者你在本地调试,Firefox都会毫不在意地一如既往地缓存你的swf,即使你设置了你的缓存空间大小为0还是一样。(IE也差不多,不过貌似有时候Ctrl+F5还是有用的)。

在Firefox下是可以这样解决的:

  • 打开一个新的标签页(TAB)
  • 在地址栏输入about:config
  • 同意它的警告提示,就是答应它你会小心的(I'll be careful, I promise!)
  • 在过滤器(filter)里输入browser.cache.disk.enable,选中那一行结果,改变其值为false

这样子就不会缓存任何东西了,要想让缓存功能生效,记得改回来就是了~

14 5 6 7 8 9 10 11 1283
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.7500096 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号