Краткий обзор библиотеки yui

23
YUI The Yahoo! User Interface Library

Upload: andrew-shitov

Post on 09-Apr-2017

783 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Краткий обзор библиотеки YUI

YUIThe Yahoo! User Interface Library

Page 2: Краткий обзор библиотеки YUI

How is "YUI" pronounced?

Within the YUI team, we tend to pronounce it "why-you-eye". However, in the wider world we more often hear it pronounced "yooey." There's no wrong answer here.

Page 3: Краткий обзор библиотеки YUI
Page 4: Краткий обзор библиотеки YUI
Page 5: Краткий обзор библиотеки YUI

developer.yahoo.com/yui

Page 6: Краткий обзор библиотеки YUI
Page 7: Краткий обзор библиотеки YUI
Page 8: Краткий обзор библиотеки YUI
Page 9: Краткий обзор библиотеки YUI

YUI = JS + CSS

Page 10: Краткий обзор библиотеки YUI

A-graded browsers

Page 11: Краткий обзор библиотеки YUI

Core Utilities Controls/Widgets

CSS tools

YAHOOglobal object

DOMcollection

Event utility

Animation

Browser history

Connection manager (Ajax)

Drag & drop

Image loader

YUI loader

AutoComplete

Calendar

ColorPicker

Container

Logger

Menu

Rich text editor

Slider

TabView

TreeView

CSS Reset

CSS Base

CSS Fonts

CSS Grids

Page 12: Краткий обзор библиотеки YUI

Events<scriptsrc="/js/yui/yahoo‐dom‐event/yahoo‐dom‐event.js"></script>

<divid="container"><p>ClickforHelloWorldalert.</p>

</div>

varhelloWorld=function(e){ alert("HelloWorld!");}

YAHOO.util.Event.addListener("container","click",helloWorld);

Page 13: Краткий обзор библиотеки YUI

Events<scriptsrc="/js/yui/yahoo‐dom‐event/yahoo‐dom‐event.js"></script>

<ahref="..."id="firstA">...</a><ahref="..."id="secondA">...</a>

varinterceptLink=function(e){ YAHOO.util.Event.preventDefault(e); alert("YouclickedonthesecondYUIlink.");}

YAHOO.util.Event.addListener("secondA","click",interceptLink);

Page 14: Краткий обзор библиотеки YUI

<script>

(function(){

varhelloWorld=function(e){ alert("HelloWorld!");}

YAHOO.util.Event.addListener("container","click",helloWorld);

varinterceptLink=function(e){ YAHOO.util.Event.preventDefault(e);

alert("YouclickedonthesecondYUIlink.");}

YAHOO.util.Event.addListener("secondA","click",interceptLink);

})();</script>

Page 15: Краткий обзор библиотеки YUI

<script>

(function(){

varhelloWorld=function(e){ YAHOO.log("helloWorldfunctionfiring.","info","example"); alert("HelloWorld!");}

YAHOO.util.Event.addListener("container","click",helloWorld);

varinterceptLink=function(e){ YAHOO.util.Event.preventDefault(e); YAHOO.log("YouclickedonthesecondYUIlink.","info","example"); alert("YouclickedonthesecondYUIlink.");}

YAHOO.util.Event.addListener("secondA","click",interceptLink);

YAHOO.log("Whenyoubegininteractingwiththeexampleatleft,you'llseelogmessagesappearhere.","info","example");

})();</script>

Page 16: Краткий обзор библиотеки YUI

Custom eventsvaronSizeChange=newYAHOO.util.CustomEvent("onSizeChange");

functionfnClick(e){...

onSizeChange.fire({width:newWidth,height:newHeight});

}

onSizeChange.subscribe(fnSubscriberWidth);onSizeChange.subscribe(fnSubscriberHeight);

fnSubscriberWidth=function(type,args){ varnewWidth=args[0].width;

...}

fnSubscriberHeight=function(type,args){ varnewHeight=args[0].height; ...}

Page 17: Краткий обзор библиотеки YUI

DOM collection<scriptsrc="/js/yui/yahoo‐dom‐event/yahoo‐dom‐event.js"></script>

<scriptsrc="/js/yui/yahoo/yahoo.js"></script><scriptsrc="/js/yui/dom/dom.js"></script>

YAHOO.util.Event.on(document,"click",move);

varmove=function(e){YAHOO.util.Dom.setXY('foo',YAHOO.util.Event.getXY(e));

};

varmove=function(){varxy=YAHOO.util.Dom.getXY('bar');

YAHOO.util.Dom.setXY('foo',xy);};

YAHOO.util.Dom.setStyle('foo','opacity',0.5);

varbgcolor=YAHOO.util.Dom.getStyle('bar','backgroundColor');YAHOO.util.Dom.setStyle('foo','backgroundColor',bgcolor);

Page 18: Краткий обзор библиотеки YUI

DOM collectionvartestClass=function(e){

alert(YAHOO.util.Dom.hasClass('foo','baz'));};

varaddClass=function(e){YAHOO.util.Dom.addClass('foo','baz');alert(YAHOO.util.Dom.get('foo').className);

};

varremoveClass=function(e){YAHOO.util.Dom.removeClass('foo','baz');alert(YAHOO.util.Dom.get('foo').className);

};

vargetByClass=function(e){alert('found:'+YAHOO.util.Dom.getElementsByClassName('bar','div').length+'elements');

};

Page 19: Краткий обзор библиотеки YUI

Drag & drop<scriptsrc="/js/yui/yahoo‐dom‐event/yahoo‐dom‐event.js"></script><scriptsrc="/js/yui/dragdrop/dragdrop.js"></script>

<divid="dd‐demo‐1"class="dd‐demo"></div><divid="dd‐demo‐2"class="dd‐demo"></div><divid="dd‐demo‐3"class="dd‐demo"></div>

<scripttype="text/javascript">(function(){vardd,dd2,dd3;YAHOO.util.Event.onDOMReady(function(){dd=newYAHOO.util.DD("dd‐demo‐1");dd2=newYAHOO.util.DD("dd‐demo‐2");dd3=newYAHOO.util.DD("dd‐demo‐3");});})();</script>

Page 20: Краткий обзор библиотеки YUI

Animation<scriptsrc="/js/yui/yahoo‐dom‐event/yahoo‐dom‐event.js"></script><scriptsrc="/js/yui/animation/animation.js"></script>

varattributes={width:{to:0}

};

varanim=newYAHOO.util.Anim('demo',attributes);

YAHOO.util.Event.on('demo‐run','click',function(){anim.animate();

});

varattributes={width:{from:30,to:10,unit:'em'}

};

varattributes={height:{to:50},width:{to:50}

};

Page 21: Краткий обзор библиотеки YUI

Animating motion; animated scrolling<scripttype="text/javascript">(function(){

varattributes={points:{to:[600,10]}};varanim=newYAHOO.util.Motion('demo',attributes);

YAHOO.util.Event.on('demo‐run','click',function(){anim.animate();});

})();</script>

varattributes={points:{to:[600,10],control:[[300,100],[800,800]]}

};

varattributes={scroll:{to:[0,200]}

};varanim=newYAHOO.util.Scroll('demo',attributes);

Page 22: Краткий обзор библиотеки YUI
Page 23: Краткий обзор библиотеки YUI

developer.yahoo.com/yui/examples