public
Description: a stupid layout switcher for mootools
Homepage: http://johnmuhl.com/workbook/switch
Clone URL: git://github.com/johnmuhl/switch.git
switch / switch.js
100644 78 lines (60 sloc) 2.141 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
------------------------------------------------------------------------------
switch: version 1.2
“on the fly layout adjustment”
MIT License
------------------------------------------------------------------------------
Requires: MooTools v1.2 (MIT License)
------------------------------------------------------------------------------
*/
function swClassy()
{//swClassy removes any existing swhich class from <body>
  var swBody = $$('body');
 
  if (swBody.hasClass('xx-small') == 'true')
    swBody.removeClass('xx-small');
 
  if (swBody.hasClass('x-small') == 'true')
    swBody.removeClass('x-small');
 
  if (swBody.hasClass('small') == 'true')
    swBody.removeClass('small');
 
  if (swBody.hasClass('medium') == 'true')
    swBody.removeClass('medium');
 
  if (swBody.hasClass('large') == 'true')
    swBody.removeClass('large');
 
  if (swBody.hasClass('x-large') == 'true')
    swBody.removeClass('x-large');
 
  if (swBody.hasClass('xx-large') == 'true')
    swBody.removeClass('xx-large');
 
  if (swBody.hasClass('xxx-large') == 'true')
    swBody.removeClass('xxx-large');
};
 
function swhich()
{//swhich applies a size based class on <body>
  swClassy();
  var swBody = $$('body');
  var swSize = window.getSize().x;
  var swXXSmall = 584;
  var swXSmall = 744;
  var swSmall = 968;
  var swMedium = 1096;
  var swLarge = 1344;
  var swXLarge = 1384;
  var swXXLarge = 1544;
  
  if (swSize <= swXXSmall)
    swBody.addClass('xx-small');
  
  if (swSize > swXXSmall && swSize <= swXSmall)
    swBody.addClass('x-small');
  
  if (swSize > swXSmall && swSize <= swSmall)
    swBody.addClass('small');
  
  if (swSize > swSmall && swSize <= swMedium)
    swBody.addClass('medium');
  
  if (swSize > swMedium && swSize <= swLarge)
    swBody.addClass('large');
  
  if (swSize > swLarge && swSize <= swXLarge)
    swBody.addClass('x-large');
  
  if (swSize > swXLarge && swSize <= swXXLarge)
    swBody.addClass('xx-large');
 
  if (swSize > swXXLarge)
    swBody.addClass('xxx-large');
};
 
window.addEvent('domready', function() { swhich(); });
window.addEvent('resize', function() { swhich(); });