prototype.js简介

2007-11-21 14:22

prototype.js是一个很强大的Javascript函数库,它可以让你很轻松的使用一些特效,实现AJAX的功能.虽然prototype.js是为了Ruby On Rails开发的,它的纯Javascript的性质也使得它很容易用在其他的网络程序中.可惜的是,Prototype.js还没有强大的文档解释,尽管它的代码非常有条理,但是也给初学者造成了一定的麻烦.作者在README里说:

Prototype is embarrassingly lacking in documentation. (The source code should be fairly easy to comprehend; I’m committed to using a clean style with meaningful identifiers. But I know that only goes so far.)

基本用法:以Element Class为例,prototype给每个主要的分类都分成了一个Class,使用起来很方便,要产生特定的效果的话只要用new Class.function(<argument>)就可以了.比如:
<DIV id="div1"><a href="#" onclick="new Element.toggle(‘‘div2‘‘)">Click Me</a></DIV>
            <DIV id="div2">Hello!</DIV>

当点击Click Me的时候,div2就会交替隐藏或显示.注意,你可以给toggle加上无限个parameter,比如Element.toggle(‘‘div2‘‘,‘‘div3‘‘,‘‘div4‘‘)...

下面是每个重要的类和函数的解释:

prototype 1.2.0 的函数简介
函数名 解释 举例
Element.toggle 交替隐藏或显示 "Element.toggle(‘‘div1‘‘,‘‘div2‘‘)
Element.hide 隐藏 "Element.hide(‘‘div1‘‘,‘‘div2‘‘)
Element.show 显示 "Element.show(‘‘div1‘‘,‘‘div2‘‘)
Element.remove 删除 "Element.remove(‘‘div1‘‘,‘‘div2‘‘)
Element.getHeight 取得高度 "Element.getHeight(‘‘div1‘‘)
Toggle.display 和Element.toggle相同 "Toggle.display(‘‘div1‘‘,‘‘div2‘‘)
Insertion.Before 在DIV前插入文字 "Insertion.Before(‘‘div1‘‘,‘‘my content‘‘)
Insertion.After 在DIV后插入文字 "Insertion.After(‘‘div1‘‘,‘‘my content‘‘)
Insertion.Top 在DIV里最前插入文字 "Insertion.Top(‘‘div1‘‘,‘‘this is a text‘‘)
Insertion.Bottom 在DIV里最后插入文字 "Insertion.Bottom(‘‘div1‘‘,‘‘this is a text‘‘)
PeriodicalExecuter 以给定频率调用一段JavaScript "PeridicalExecutor(test, 1)"这里test是Javascript的函数,1是频率(1秒).
$ 取得一个DIV, 相当于getElementById() $(‘‘div1‘‘)
Field.clear 清空一个输入框 "Field.clear(‘‘textfield1‘‘)
Field.focus 把 焦点集中在输入框上 "Field.focus(‘‘select1‘‘)
Field.present 判断内容是否为空 "alert(Field.present(‘‘textfield1‘‘))"
Field.select 选择输入框的内容 "Field.select(‘‘textfield1‘‘)"
Field.activate 把 焦点集中在输入框上并选择输入框的内容 "Field.activate(‘‘textfield1‘‘)"
Form.serialize 把表格内容转化成string  
Form.getElements 取得表格内容为数组形式  
Form.disable disable表格所有内容 Form.disable(‘‘form1‘‘) (这个好象不work)
Form.focusFirstElement 把焦点集中在表格第一个元素上 Form.focusFirstElement(‘‘form1‘‘)
Form.reset Reset表格 Form.reset(‘‘form1‘‘)
Form.Element.getValue 取得表格输入框的值 Form.Element.getValue(‘‘text1‘‘)
Form.Element.serialize    把表格中输入框内容转化成string Form.Element.serialize(‘‘text1‘‘)
$F 等同于Form.Element.getValue() $F(‘‘text1‘‘)
Effect.Highlight 高亮特效. Effect.Highlight(‘‘text1‘‘)
Effect.Fade 褪色特效  
Effect.Scale 放大缩小(百分比)
Effect.Scale(‘‘text1‘‘, 200)
这里200 = 200%, 即两倍

Effect.Squish 消失特效.文字缩小后消失 Effect.Squish(‘‘text1‘‘)
Effect.Puff 消失特效.文字放大后消失 Effect.Puff(‘‘text1‘‘)
Effect.Appear 出现特效  
Effect.ContentZoom ZOOM特效.  
Ajax.Request 传送Ajax请求给服务器 Ajax.Request(‘‘http://server/s.php‘‘)
Ajax.Updater 传送Ajax请求给服务器并用答复的结果更新指定的Container Ajax.Updater(‘‘text1‘‘,‘‘http://server/s.php‘‘)

Ajax的函数实际上还有一个可选参数,就是options.在未指明的情况下,Ajax使用的是‘‘POST‘‘发送请求,而且是异步执行,如果想要改用‘‘GET‘‘和同步,就可以用Ajax.Request(‘‘http://server/s.php‘‘,‘‘get‘‘,‘‘‘‘,‘‘a=1&b=2‘‘)来执行.

在Rails中Ajax的函数被封装成Ruby的函数,所以不必直接采用Ajax.Request,Ajax.Updater.但是知道它是怎么工作的也很有用.

时间: 2024-10-07 19:32:53

prototype.js简介的相关文章

jquery.flot.js简介

JQuery图表插件之Flot Flot是一个Jquery下图表插件,具有简单使用,交互效果,具有吸引力外观特点.目前支持 Internet Explorer 6+, Chrome, Firefox 2+, Safari 3+ and Opera 9.5+ 等浏览器,是一个基于Javascript和Jquery纯客端户的脚本库,下面看一个简单的示例,先插入js: <script language="javascript" type="text/javascript&qu

jquery.easypiechart.js简介

此插件主要是用来统计新的访问.跳出率.服务器负载.使用的RAM等,功能很强大,带有HTML5的动画效果,效果非常炫,看效果吧easyPieChart一款新型的EASY饼图数据统计Jquery插件截图: 插件下载:https://github.com/rendro/easy-pie-chart/ jquery.easypiechart.js简介,布布扣,bubuko.com

jquery.sparkline.js简介

jQuery线状图插件Sparkline 官网地址:http://omnipotent.net/jquery.sparkline/ 文档地址:http://omnipotent.net/jquery.sparkline/#docs 下载地址:http://omnipotent.net/jquery.sparkline/#download jquery.sparkline.js简介,布布扣,bubuko.com

Vue.js简介

Vue.js简介 Vue.js的作者为Evan You(尤雨溪),任职于Google Creative Lab,虽然是Vue是一个个人项目,但在发展前景上个人认为绝不输于Google的AngularJs,下面我会将Vue与Angular(Angular 1.0+版本)做一些简单的比较. Vue的主要特点就和它官网(http://cn.vuejs.org/)所介绍的那样: (1) 简洁 (2) 轻量 (3)快速 (4) 数据驱动 (5) 模块友好 (6) 组件化 简单 下面看一段Angular的实

01 Node.js简介, 安装&amp;配置

Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开发框架, CSS生成器, 操作系统API, 网络通信 等. Node.js 是什么 ? 是一个让 javascript 运行在服务器端的平台, 以前javascript只能运行在浏览器中,  node.js 可以解析 javascript. CommonJS 试图设计一套Javascript的规范.

Analytics.js简介

analytics.js JavaScript代码段是一种可用于衡量用户与您网站的互动情况的全新方式.它与之前的跟踪代码ga.js类似,但为开发者自定义实现方案提供了更大的灵活性. analytics.js代码段是Universal Analytics(目前处于公测阶段)的一部分.新用户应使用analytics.js.现有的ga.js用户应为analytics.js创建新的网络媒体资源并在他们的网站中进行两次代码实现.在同一页面上添加ga.js和analytics.js代码段并不会有任何安全问题

jquery.gritter.js简介

Gritter 是一个小型的 jQuery 消息通知插件,通知效果如下图所示: 参考网 jquery.gritter.js简介,布布扣,bubuko.com

从prototype.js中学习到的js封装

最近在学习prototype.js,发现这里面的代码适合像我这种初学者(使用过一些库和框架,并用一些框架写过一些项目的人)学习,下面从源码截取一些面向对象封装的代码用于学习. 1.给Object的原型添加extend方法,功能是对象的扩展,把一个对象的值赋值给源对象,如果源对象存在属性,则修改,这种方法以前在jQuery中经常用到 Object.prototype.extend=function(object){ for(property in object){ this[property]=o

prototype.js 源码解读(01)

prototype.js是一个设计的非常优雅且很有实用价值的js基础类库,其源码非常值得研究.研究它的源码不仅能提升个人水平,而且对你打下坚实的js基础也很有帮助.因本人技术水平有限,该解读仅供参考. 定义全局对象Prototype,包括属性版本号,属性版本号的定义有利于版本号的检测 9 var Prototype = { 10 Version: '1.5.0', 11 BrowserFeatures: { 12 XPath: !!document.evaluate 13 }, 14 15 Sc