10 2012 档案
摘要:CSS3 Transforms:是一个用来进行形状变化的属性,主要包括2D和3D变换,先让我们来看一下对browser的支持程度。对CSS 2D Transform支持的browser:2D Transform例子:看一个倾斜的例子(skew),文字是可以选择的这个是一个缩放的例子这是一个旋转的例子这是一个移动的例子这是一个综合了上面4个例子的例子让我们来看一下上面的代码:View Code #trans2D #skew { -web-transform: skew(45deg); -o-transform: skew(45deg); -moz-transform: skew(45deg...
阅读全文
摘要:问题描述:在下面的图中,我想把这个"立即购买“是用”a"标签block后,加上absolut,在现代浏览器下没有问题,在IE6,7下问题来了,不能点击。尝试:1. 加上z-index,把它设置的很高(无用)。2. 把a标签内加入内容(无用)解决方案:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta h
阅读全文
摘要:它可以用来做什么?CSS transitions可以让一个css属性值在一个给定的时间内平滑的改变,而不再是和以前一样,当我们设置一个css属性值时,它会立即表现出来结果,如color: red, 当我们设置完这个属性,如果是应用在span上,那么span内的文字立即会变成红色。而我们如果用到transition,那么这个值就会在一定时间内,假设以前是黑色,就会由黑色逐渐变成红色,而不再是立即变成红色。谁支持它?如何用它?transition: <property><duration><animation type><delay>webkit:-
阅读全文
摘要:Strategy模式允许你在运行的时候可以选择不同的算法。你的代码可以提供一个统一的接口,但是指定的任务可以根据不同的上下文来选择不同的算不了法。来看一个用strategy模式来解决问题的例子:表单检查。你可以创建一个validate()方法。我们用这个方法来检验表单,而不管这个表单是什么类型的表单,我们所要得到的是一个正确的数据。而真正我们需要实现的是,根据具体的form类型,可以选择不同的类型检查器来检查。你的validator将会选取最好的策略来处理这个task,然后用最合适的算法来检查。Data Validation Example下面的数据,来自一个页面,我们来检查一下它们的有效性:
阅读全文
摘要:Decorator模式是指可以在运行的时候让一些功能附加到对象上,当在静态类语言中实现的时候,也许不那么容易,但是在JS中,我们借助于它自己的语言特性,可以很容易的让其实现这种模式应用场景让我们来看一个这个模式应用的例子,假若你现在正在做一个卖东西的web应用。假设每一件新的商品,我们都抽像为一sale object,我们可以通过sale.getPrice()来得到商品的价格。假定这样一个场景,一个顾客在加拿大的Qubec省买了这样一件产品,那么他需要交纳联邦政府的税,还需要交纳Qubec省的税。我们可以这样来应用decorate模式,用联邦政府税decorator和Qubec省税deocra
阅读全文
摘要:当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的。而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢?准备知识:当我们在开始的时候,有些知识是必须具备的:DOM树下图仅仅是一个示例,这是一个在browser环境下的一棵模拟DOM树,在下面的代码中仅起到演示的作用:Event bubbling (aka event propagation)冒泡我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们不人为的设置stopPropagation(Moder Browser), cancelBubble(IE),那么
阅读全文
摘要:如果你有一个对象,它包含一组有序的聚簇数据(其实就是一个或者一组利用某种结构聚集起来的数据),你如果想要一种统一的并且是简单的访问接口来访问这一组数据,那么iterator就可以发挥它的用武之地了。调用这个对象的code不需要了解你对象的数据结构,它们唯一需要知道的是如何来得到其中的每一个元素。在Iterator模式中,你的object需要提供一个next()方法,当调用next()的时候,它必须返回你这个对象中的下一个element, 当然这取决于你的数据结构,来确定下一个element到底是哪一个元素,有可能是物理不挨着,或者是出于某种目的,你给他们人为的排序。当然我们还得需要提供另一个函
阅读全文
摘要:factory模式的目的是用来创建objects.它经常以类或者是一个类的静态方法的形式出现,但是不论以何种形式的出现, 最终都得实现下面的目标:当我们在设置一组对象的时候,它们需要执行一组相同的代码的时候。在编译的时候,在不需要知道确切的类型(class)的时候,可以创建相应的对象在传统面向对象语言中,第2点尤为重要,当我们需要创建类的实例时,我们往往不能提前知道确切的实例类型,而在JS中我们可以很轻松的来实现。以factory method或者是facotry class来创建对象的时候,都是通过继承相同的parent object, 然后利用不同的subclasses来创建不同的对象。来
阅读全文

浙公网安备 33010602011771号