annotate presen/s6/js/jquery.slideshow.footer.js @ 10:86f6bb9be40a

add
author mir3636
date Wed, 15 Feb 2017 18:20:07 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
mir3636
parents:
diff changeset
1 /***********
mir3636
parents:
diff changeset
2 *
mir3636
parents:
diff changeset
3 * footer/header addon:
mir3636
parents:
diff changeset
4 *
mir3636
parents:
diff changeset
5 * adds footer/header
mir3636
parents:
diff changeset
6 * - use key-f to toggle footer/header (in projection mode)
mir3636
parents:
diff changeset
7 *
mir3636
parents:
diff changeset
8 * layout structure:
mir3636
parents:
diff changeset
9 *
mir3636
parents:
diff changeset
10 * .layout
mir3636
parents:
diff changeset
11 * > #header
mir3636
parents:
diff changeset
12 * > #footer
mir3636
parents:
diff changeset
13 */
mir3636
parents:
diff changeset
14
mir3636
parents:
diff changeset
15
mir3636
parents:
diff changeset
16 Slideshow.footerDebugOn = function()
mir3636
parents:
diff changeset
17 {
mir3636
parents:
diff changeset
18 this.debug( 'calling footerDebugOn()' );
mir3636
parents:
diff changeset
19
mir3636
parents:
diff changeset
20 $( '.layout #header,.layout header' ).addClass( 'debug' );
mir3636
parents:
diff changeset
21 $( '.layout #footer,.layout footer' ).addClass( 'debug' );
mir3636
parents:
diff changeset
22 }
mir3636
parents:
diff changeset
23
mir3636
parents:
diff changeset
24 Slideshow.footerDebugOff = function()
mir3636
parents:
diff changeset
25 {
mir3636
parents:
diff changeset
26 this.debug( 'calling footerDebugOff()' );
mir3636
parents:
diff changeset
27
mir3636
parents:
diff changeset
28 $( '.layout #header,.layout header' ).removeClass( 'debug' );
mir3636
parents:
diff changeset
29 $( '.layout #footer,.layout footer' ).removeClass( 'debug' );
mir3636
parents:
diff changeset
30 }
mir3636
parents:
diff changeset
31
mir3636
parents:
diff changeset
32 Slideshow.footerKeys = function( event, key )
mir3636
parents:
diff changeset
33 {
mir3636
parents:
diff changeset
34 this.debug( 'calling footerKeys()' );
mir3636
parents:
diff changeset
35
mir3636
parents:
diff changeset
36 switch( key.which ) {
mir3636
parents:
diff changeset
37 case 70: //f
mir3636
parents:
diff changeset
38 this.footerToggle();
mir3636
parents:
diff changeset
39 break;
mir3636
parents:
diff changeset
40 }
mir3636
parents:
diff changeset
41 }
mir3636
parents:
diff changeset
42
mir3636
parents:
diff changeset
43 // ------------------------------------------------
mir3636
parents:
diff changeset
44
mir3636
parents:
diff changeset
45 Slideshow.footerToggle = function()
mir3636
parents:
diff changeset
46 {
mir3636
parents:
diff changeset
47 // todo/fix: note jquery sets inline css (e.g. display: block)
mir3636
parents:
diff changeset
48 // but css won't get scoped for media (e.g. projection, screen, etc)
mir3636
parents:
diff changeset
49 // thus, css changes "spill over" to all media types
mir3636
parents:
diff changeset
50
mir3636
parents:
diff changeset
51 // fix: add/remove Class hidden?? instead of toggle()
mir3636
parents:
diff changeset
52
mir3636
parents:
diff changeset
53 $( '.layout #footer, .layout footer').toggle();
mir3636
parents:
diff changeset
54 }
mir3636
parents:
diff changeset
55
mir3636
parents:
diff changeset
56 // ------------------------------------------------
mir3636
parents:
diff changeset
57
mir3636
parents:
diff changeset
58 Slideshow.footerAddEvents = function()
mir3636
parents:
diff changeset
59 {
mir3636
parents:
diff changeset
60 $( document ).on( 'slideshow.debug.on', $.proxy( Slideshow.footerDebugOn, this ));
mir3636
parents:
diff changeset
61 $( document ).on( 'slideshow.debug.off', $.proxy( Slideshow.footerDebugOff, this ));
mir3636
parents:
diff changeset
62 $( document ).on( 'slideshow.keys', $.proxy( Slideshow.footerKeys, this ));
mir3636
parents:
diff changeset
63 }
mir3636
parents:
diff changeset
64
mir3636
parents:
diff changeset
65 Slideshow.footerAddStyles = function() {
mir3636
parents:
diff changeset
66 this.debug( 'add builtin footer/header css via inline style elements' );
mir3636
parents:
diff changeset
67
mir3636
parents:
diff changeset
68 var styleProjection =
mir3636
parents:
diff changeset
69 "<style media='screen,projection'> \n"+
mir3636
parents:
diff changeset
70 " .layout #footer.debug, \n"+
mir3636
parents:
diff changeset
71 " .layout footer.debug { background: #CCF; } \n"+
mir3636
parents:
diff changeset
72 " \n"+
mir3636
parents:
diff changeset
73 " .layout #header.debug, \n"+
mir3636
parents:
diff changeset
74 " .layout header.debug { background: #FCC; } \n"+
mir3636
parents:
diff changeset
75 "</style>";
mir3636
parents:
diff changeset
76
mir3636
parents:
diff changeset
77 $( 'head' ).append( styleProjection );
mir3636
parents:
diff changeset
78 }
mir3636
parents:
diff changeset
79
mir3636
parents:
diff changeset
80
mir3636
parents:
diff changeset
81 Slideshow.footerAddStyles();
mir3636
parents:
diff changeset
82 Slideshow.footerAddEvents();