注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

等闲识得东风面,万紫千红总是春!

 
 
 

日志

 
 

prototype.js常用函数详解   

2008-11-05 10:21:28|  分类: prototype |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
prototype.js常用函数:
函数名  解释  举例
 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'')

      基本用法:prototype.js给每个主要的类都分了一个Class,使用起来很方便.要产生特定的效果,只要用new Class.function(<argument>)就可以了.例如:

<pre><DIV id="div1"><a href="#" onclick="new Element.toggle('div2')">Click Me</a></DIV>
<DIV id="div2">Hello!</DIV>pr e>

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

 

 

  1. 今天介绍一下 DOM 模型和 Prototype框架的一些对象和类,   
  2. 什么是 DOM模型 --Document Object Module 就是文档对象类型,可以看成是结构化的树形的数据   
  3. ,闲言少叙书归正传,下面是我最近学习js搜集到的一些document的方法,很实用的。下面将介绍它包含的对象方法。   
  4. 下面有下载文件:能读懂的就看看下面的prototype.js   

  •   
  • Element对象的方法:   
  •   
  • visible: function(element):判断element是否可见, 参数element可以是元素本身或元素id(下面的方面的参数基本上都是这样的)   
  •   
  • toggle: function(element):反转element的可见性   
  •   
  • hide: function(element):隐藏元素   
  •   
  • show: function(element):显示元素   
  •   
  • remove: function(element):移除元素   
  •   
  • update: function(element, html) :使用html更新element的内容,html中的script会执行(下同)   
  •   
  • replace: function(element, html):将element替换为html   
  •   
  • inspect: function(element):element的字符串表示   
  •   
  • up(element, expression, index):利用Selector.findElement方法找到element元素的祖先节点中符合表达式expression的所有元素组成的数组索引为index的元素,也可以忽略expression(默认为*,表示匹配所有元素)和index(默认为0),直接这样调用 up(element, index)或up(element)   
  •   
  • down(element, expression, index):跟up一样,只是返回的是子孙节点   
  •   
  • previous(element, expression, index):返回前面的兄弟节点   
  •   
  • next(element, expression, index):返回后面的兄弟节点   
  •   
  • getElementsBySelector(element,args):Selector.findChildElements(element, args)的封装,args表示可以传递多个参数,每个参数是一个css selector表达式,返回element的子孙节点中符合任何一个css selector表达式的元素组成的数组   
  •   
  • getElementsByClassName(element, className):返回element中的子孙节点中符合clsssName的元素   
  •   
  • hasClassName: function(element, className) :判断element是否含有className   
  •   
  • addClassName: function(element, className) :给element添加一个class  
  •   
  • removeClassName: function(element, className) :移除元素中的一个class  
  •   
  • observe():调用Event对象(Prototype中的,将在后面介绍)的observe方法为元素注册事件handle   
  •   
  • stopObserving() :移除注册的事件handle   
  •   
  • cleanWhitespace: function(element):移除元素中空白的文本子节点   
  •   
  • empty: function(element):判断元素是否为空   
  •   
  • childOf: function(element, ancestor) :判断element是否为ancestor的子孙节点   
  •   
  • scrollTo: function(element) :滚动条移动到元素所在的地方   
  •   
  • getStyle: function(element, style) :得到元素某个css样式的值,例如$(element).getStyle("float")   
  •   
  • setStyle: function(element, style) :设置元素的css样式,style十一个对象,例如element.setStyle({left: "40px""background-color":"#666"})   
  •   
  • getDimensions: function(element) :得到元素的尺寸,即使元素是隐藏的也可以正确的返回,返回 return {width: originalWidth, height: originalHeight}这样的关联数组   
  •   
  • makePositioned: function(element) :当元素的position css属性为static或不存在使,将次属性更改为relative   
  •   
  • undoPositioned: function(element) :跟makePositioned相反的操作   
  •   
  • makeClipping: function(element) :把元素变成clipping(切片),也就是设置元素的overflow属性为hidden   
  •   
  • undoClipping: function(element):反转上面的方法对元素所做的修改   
  •   
  • hasAttribute(element):判断元素是否有某个属性   
  •   
  • Insertion.Before:将内容插入到元素的前面,内容在元素外面   
  •   
  • Insertion.Top:将内容插入到元素的顶部,内容在元素里面   
  •   
  • Insertion.Bottom:将内容插入到元素的底部,内容在元素里面   
  •   
  • Insertion.After:将内容插入到元素后面,内容在元素外面   
  •   
  • 以上的这些方法经常会使用到的,不过里面有很多方法我也没有使用过,有些是在网上搜集的,有的是在书上找到的,里面有很多在最近制作google日历时用到了,在js创建表格,div什么虽然具有挑战,比起其他使用起来麻烦多了,但是很有逻辑性的。   
  • 希望上面能给JavaScript的学习使用的同仁带来方便,这里可是实现Ajax的关键因素。   
  •   
  • 提供给大家参考学习,这是经常用到的。  
    1.   评论这张
       
      阅读(633)| 评论(0)
      推荐 转载

      历史上的今天

      评论

      <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
       
       
       
       
       
       
       
       
       
       
       
       
       
       

      页脚

      网易公司版权所有 ©1997-2018