script.aculo.us中的基本效果和预构建效果都很好,但如果你真的想要的东西为什么不做你自己的研究,国产的,自己动手的效果。我们将向您展示如何将基本的影响和建立在他们创建自己的。让我们走了。
首先,在安装说明。
现在您已经准备好使用视觉效果引擎!给这个短线一试:
已经淡出我!!
调整的影响,试试这样:
消退我慢!!
现金出纳机的效果
你现在可以开始构建自己的影响。script.aculo.us中所有的预构建效果实际上都是关于改变元素的样式的,但实际上没有什么阻止你操纵元素的内容。对我们本土的效果,我们会做。
假设您有一个使用AJAX从购物篮中添加和删除产品的在线商店。当然,你可以显示一个篮子里,所有产品的总每次发生变化时自动更新它。我们想要给用户一个线索,这总正确更新,反映了当前内容的篮子里。你可以用黄褪色技术,但是我们想把自己的风格和使用更时髦的东西。
所以,我们想要效仿老式收银机的外观和感觉,和显示的变化总与一个全新的国产效果,动态调整从老总到新的价值。
有一个计划
利用引擎提供设施的影响,你应该坐下来,想想自己真的效果。重要的是想出一个方法,它显示一个特定的框架效应引擎会问你的方法。
对于我们的收银机效应,这意味着在效应的持续时间内,在帧的每个渲染上,它应该显示表达式的结果start_price + (price_delta *位置)
,在哪里price_delta = end_price - start_price
和位置
是指多大效果在0到1的范围内完成。
例子:假设总当前显示是100.00美元,我们想要改变,至150.00美元。在位置上显示的值0.5
(半途而废)125.00美元
或$ 100.00 +(50.00 * 0.5)
与price_delta = 150.00 - 100.00美元= 50.00美元
。
第一帧(位置0):100.00美元中途(0.5位置):125.00美元最后一帧(位置1):150.00美元
影响骨架
视觉效果引擎提供了一个基类来构建自己的影响。
Effect.Base
这样使用:
CashRegister=Class.create();Object.extend(Object.extend(Effect.CashRegister.prototype,Effect.Base.prototype),{//我们稍后再填};;
下一步,我们需要告诉我们的新效果要做什么。
initialize()方法
作为研究之前,我们想要一个转换从一个到另一个价格,和
需要找出δ在我们开始之前的效果。convinience,我们也只是
想要的值显示在元素作为一个起点,所以我们
不必记得“老”价格:
initialize:函数(元素,){/ /可选的第三个参数”选项”var选项=参数[2]| | { };//$是Prototype this..=$(.)中document.getElementById的快捷方式;//查找当前价格并在没有美元符号this.startPrice=parseFloat(this...innerHTML..ring(1))的情况下对其进行解析;//设置finishPrice并预计算delta this.finishPrice=price;this.delta =(this.finishPrice-this.startPrice);/ /开始提供的方法是影响发动机/ /应该初始化()方法的最后一行this.start(选项);},,
使用短的注意innerHTML
DOM元素的属性:它既不是善还是恶,就在那里,在所有的浏览器。所以,一定要用它。它的速度远远超过任何XML仰卧起坐DOM。
update()方法
繁重的效果,我们需要定义update()
方法。调用此方法反复的视觉效果为每个帧渲染引擎。它的位置
参数的范围在0到1。
update:function(.){//calculationvalue并将其转换为./cent数组var value=(this.startPrice+(this.delta*.)).toString(..('.');/ /确保逗号后两位数var分= value.length = = 1 ?‘00’:(值[1],长度==1?价值[1]+”0”:价值[1].substring(0,2);//Element.update from Prototype设置元素Element.update(this..,“$”+value[0]+“.”+.”;}
就是这样。准备好你的效果。实际使用它,叫它通过使用(例如):
新Effect.CashRegister(“总”,150);;
如果你想要一点,“慢镜头敬畏”(你会发现宽松,自动应用),尝试:
新Effect.CashRegister(“总”,150年,{时间:10});;
这是删除注释的完整代码。
CashRegister=Class.create();Object.extend(Object.extend(Effect.CashRegister.prototype,Effect.Base.prototype),{初始化:函数(元素,价格){var选项=参数[2]| | {};.=$(.);this.startPrice=parseFloat(this...innerHTML..ring(1));完成价格=价格;this.delta =(this.finishPrice-this.startPrice);this.start(选项);},update:function(.){var value=(this.startPrice+(this.delta*.)).toString(..('.');var.=value..==1?‘00’:([1]值],.==1?价值[1]+”0”:价值[1].substring(0,2);Element.update(this.element“$”+value[0]+“.”+.”;});;
更多的事情去探索
当然,我们这里只触及表面,这里有一个快速浏览其他东西等待发现内部的视觉效果引擎:
回调
在当你的所有阶段运行效果,,各种回调可以用来做进一步的处理。例如,如果要在效果完成之后发布其他效果,您可以使用后整理
回调函数:
新Effect.CashRegister(“总”,150年,{后整理:函数(效果){新Effect.Highlight (effect.element)}});;
转换
转换控制宽松的效果,+可以用于一些更高级的控制效果应该如何呈现自己。看到script.aculo.us wiki的更多信息
队列
队列是一个工具来构建功能强大的效果,基于时间线的动画。这是一个伟大的教程。
那你在等什么呢?走出去,开始创造你自己精彩的视觉效果世界。
关于Scriptaculous
除此之外,,script.aculo.us包括一个有很多特色的JavaScript引擎的影响,在网络上提供了易于使用的视觉效果。主要目标是启用AJAX支持的站点,为用户提供视觉反馈,否则谁会不知道那个页面更新发生在幕后。第二个用是页内交互顺畅(例如当隐藏面板打开,它可以顺利滑出而不是弹出)。
视觉效果引擎第一次来到生活的一部分Ruby on Rails,尤其是Prototype JavaScript框架,在AJAX非常新鲜的时候,黄褪色技术有一个复兴。为了在2005年6月启动script.aculo.us,完全重写引擎提供一个坚实的动画框架,很容易扩展。
如果你从来没有听说过,有看吗演示页面在script.aculo.us文档wiki中。为一个很好的使用丰富的交互性页内访问苹果的孔径产品网站,并尝试“关键特性的光圈”框在屏幕的右边(向下滚动一下),和wollzelle主页(尝试投资组合中的引用部分)。
在一个web应用程序,使用您可能想要查看流畅逗趣视频(大多数的东西在影响引擎的fluxiom)的发展。
你不需要担心
基于时间的动画框架采用script.aculo.us
负责所有繁琐的背景处理和高级功能,,
所以你永远不必担心客户端/浏览器的渲染速度,,
容易进出和排队时间的东西。
你会自动获取各种调整选项和回调功能
真正调整影响到你喜欢(当然提供的附带影响
理智缺省,所以你可以放弃一行JavaScript代码,你所有的设置)。
同时,什么是工作(和做!Internet Explorer 6,Firefox 1.0和以后,加上Safari。
9评论
评论都关门了。
完整的堆栈JavaScript
前端网页设计
iOS发展迅速
Python Web开发
每个设计是由我们学院科技专业人员指导甚至编码初学者成为找工作的软件开发人员配备专业的实际项目组合。今天与我们尝试一个 七天免费试用,软件开发是给你看看。
很好的文章!!坚持下去。
http://www.adultsexygift.com
weweewrerer
[…]创建您自己的Ajax效果script.aculo.us中的基本和预构建效果很好,但如果你真的想要的东西为什么不做你自己的研究,国产的,自己动手的效果。[…]
[…]创建自己的AJAX效果——本教程教我们如何建立我们自己的AJAX开发的影响。[…]
[…]链接[…]
[…]创建自己的AJAX效果——本教程教我们如何建立我们自己的AJAX开发的影响。[…]
[…]创建自己的AJAX效果——本教程教我们如何建立我们自己的AJAX开发的影响。[…]
谢谢托马斯!我从来没想过可能是简单的。
当你听到这个词Ajax”你认为它的复杂,但它不一定是…谢谢!!
谢谢托马斯!我从来没想过这么简单。当你听到这个词的时候Ajax”你认为它的复杂,但它不一定是…谢谢!!