22 * 控制端函数
33 */
44( function ( $win , $doc , $B , Slide , loadJS , undefined ) {
5- var $slides = Slide . $slides ;
6- var doSlide = Slide . doSlide ;
5+ var $slides = Slide . $slides ;
6+ var doSlide = Slide . doSlide ;
77
8- function doItem ( id , itemID ) {
9- itemID = itemID | 0 ;
10- var $curSlide = $slides [ id ] ;
11- var toBuild = $curSlide . querySelectorAll ( '.build > *' ) ;
12- var list ;
13- var index = itemID ;
8+ function doItem ( id , itemID ) {
9+ itemID = itemID | 0 ;
10+ var $curSlide = $slides [ id ] ;
11+ var toBuild = $curSlide . querySelectorAll ( '.build > *' ) ;
12+ var list ;
13+ var index = itemID ;
1414
15- while ( itemID >= 0 ) {
16- list = toBuild . item ( itemID ) . classList ;
17- list . remove ( 'to-build' ) ;
18- list . add ( itemID === index ? 'building' : 'build-fade' ) ;
19- itemID -- ;
20- }
21- }
15+ while ( itemID >= 0 ) {
16+ list = toBuild . item ( itemID ) . classList ;
17+ list . remove ( 'to-build' ) ;
18+ list . add ( itemID === index ? 'building' : 'build-fade' ) ;
19+ itemID -- ;
20+ }
21+ }
2222
23- function getType ( obj ) {
24- return ( { } ) . toString . call ( obj ) . slice ( 8 , - 1 )
25- }
23+ function getType ( obj ) {
24+ return ( { } ) . toString . call ( obj ) . slice ( 8 , - 1 )
25+ }
2626
27- var Control = {
28- state : 'unbind' ,
29- methods : { } ,
30- init : function ( ) {
31- this . bindListener ( ) ;
32- } ,
33- bindListener : function ( ) {
34- var t = this ;
35- //监听用户端发出的广播
36- $B . on ( 'slide change ID' , function ( json ) {
37- var slideID = json . slideID ;
38- //发送请求
39- t . sendUpdate ( slideID ) ;
27+ var Control = {
28+ state : 'unbind' ,
29+ methods : { } ,
30+ init : function ( ) {
31+ this . bindListener ( ) ;
32+ } ,
33+ bindListener : function ( ) {
34+ var t = this ;
35+ //监听用户端发出的广播
36+ $B . on ( 'slide change ID' , function ( json ) {
37+ var slideID = json . slideID ;
38+ //发送请求
39+ t . sendUpdate ( slideID ) ;
4040
41- } ) . on ( 'slide do build' , function ( json ) {
42- var slideID = json . slideID ;
43- var buildItem = json . build ;
44- //发送请求
45- t . sendUpdateItem ( slideID , buildItem ) ;
46- } ) . on ( 'slide event keyup' , function ( e ) {
47- t . sendKeyEvent ( e . keyCode ) ;
48- } )
49- //监听控制来的广播
50- . on ( 'from control order' , function ( json ) {
51- var fnName = json . fnName ;
52- var args = json . args ;
53- Slide . proxyFn ( fnName , args ) ;
54- } ) . on ( 'from control update' , function ( json ) {
55- doSlide ( json . id , false ) ;
56- } ) . on ( 'from control updateItem' , function ( json ) {
57- doSlide ( json . id , false ) ;
58- doItem ( json . id , json . item ) ;
59- } ) . on ( 'from control key event' , function ( json ) {
60- t . createKeyEvent_ ( json . keyCode ) ;
61- } ) ;
62- } ,
63- createKeyEvent_ : function ( keyCode ) {
64- var evt = document . createEvent ( 'Event' ) ;
65- evt . initEvent ( 'keyup' , true , true ) ;
66- evt . keyCode = keyCode ;
67- evt . isFromControl = true ;
41+ } ) . on ( 'slide do build' , function ( json ) {
42+ var slideID = json . slideID ;
43+ var buildItem = json . build ;
44+ //发送请求
45+ t . sendUpdateItem ( slideID , buildItem ) ;
46+ } ) . on ( 'slide event keyup' , function ( e ) {
47+ t . sendKeyEvent ( e . keyCode ) ;
48+ } )
49+ //监听控制来的广播
50+ . on ( 'from control order' , function ( json ) {
51+ var fnName = json . fnName ;
52+ var args = json . args ;
53+ Slide . proxyFn ( fnName , args ) ;
54+ } ) . on ( 'from control update' , function ( json ) {
55+ doSlide ( json . id , false ) ;
56+ } ) . on ( 'from control updateItem' , function ( json ) {
57+ doSlide ( json . id , false ) ;
58+ doItem ( json . id , json . item ) ;
59+ } ) . on ( 'from control key event' , function ( json ) {
60+ t . createKeyEvent_ ( json . keyCode ) ;
61+ } ) ;
62+ } ,
63+ createKeyEvent_ : function ( keyCode ) {
64+ var evt = document . createEvent ( 'Event' ) ;
65+ evt . initEvent ( 'keyup' , true , true ) ;
66+ evt . keyCode = keyCode ;
67+ evt . isFromControl = true ;
6868
69- document . dispatchEvent ( evt ) ;
70- } ,
71- send_ : function ( fnName , args ) {
72- var methods = this . methods ;
73- var method ;
74- args = getType ( args ) === 'Array' ? args : [ args ] ;
75- for ( var i in methods ) {
76- method = methods [ i ] ;
77- method = method [ fnName ] ;
78- typeof method === 'function' && method . apply ( Slide , args ) ;
79- }
80- } ,
81- sendUpdate : function ( slideID ) {
82- this . send_ ( 'update' , [ slideID ] ) ;
83- } ,
84- sendUpdateItem : function ( id , buildItem ) {
85- this . send_ ( 'updateItem' , [ id , buildItem ] ) ;
86- } ,
87- sendKeyEvent : function ( keycode ) {
88- this . send_ ( 'keyEvent' , [ keycode ] ) ;
89- } ,
69+ document . dispatchEvent ( evt ) ;
70+ } ,
71+ send_ : function ( fnName , args ) {
72+ var methods = this . methods ;
73+ var method ;
74+ args = getType ( args ) === 'Array' ? args : [ args ] ;
75+ for ( var i in methods ) {
76+ method = methods [ i ] ;
77+ method = method [ fnName ] ;
78+ typeof method === 'function' && method . apply ( Slide , args ) ;
79+ }
80+ } ,
81+ sendUpdate : function ( slideID ) {
82+ this . send_ ( 'update' , [ slideID ] ) ;
83+ } ,
84+ sendUpdateItem : function ( id , buildItem ) {
85+ this . send_ ( 'updateItem' , [ id , buildItem ] ) ;
86+ } ,
87+ sendKeyEvent : function ( keycode ) {
88+ this . send_ ( 'keyEvent' , [ keycode ] ) ;
89+ } ,
9090
91- //添加一个新的监控
92- add : function ( name , factory , override ) {
93- var methods = this . methods ;
91+ //添加一个新的监控
92+ add : function ( name , factory , override ) {
93+ var methods = this . methods ;
9494
95- if ( override || ! methods [ name ] ) {
96- methods [ name ] = factory ( Slide , $B ) ;
97- //必须包括4个函数一个是监控翻页的update
98- //另外一个是updateItem
99- //一个是init
100- //keyEvent;
101- }
102- } ,
103- load : function ( type , args ) {
104- var url = Slide . dir + 'nodeppt.control.' + type + '.js' ;
105- loadJS ( url , function ( ) {
106- Slide . Control . methods [ type ] . init ( args ) ;
107- } ) ;
108- }
109- }
110- Control . init ( ) ;
111- Slide . Control = Control ;
112- } ( window , document , MixJS . event . broadcast , Slide , MixJS . loadJS ) ) ;
95+ if ( override || ! methods [ name ] ) {
96+ methods [ name ] = factory ( Slide , $B ) ;
97+ //必须包括4个函数一个是监控翻页的update
98+ //另外一个是updateItem
99+ //一个是init
100+ //keyEvent;
101+ }
102+ } ,
103+ load : function ( type , args ) {
104+ var url = Slide . dir + 'nodeppt.control.' + type + '.js' ;
105+ loadJS ( url , function ( ) {
106+ Slide . Control . methods [ type ] . init ( args ) ;
107+ } ) ;
108+ }
109+ }
110+ Control . init ( ) ;
111+ Slide . Control = Control ;
112+ } ( window , document , MixJS . event . broadcast , Slide , MixJS . loadJS ) ) ;
0 commit comments