application.js 3.08 KB
Newer Older
Jacob Thornton's avatar
Jacob Thornton committed
1
$(document).ready(function(){
2

Jacob Thornton's avatar
Jacob Thornton committed
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
  // scroll spy logic
  // ================

  var activeTarget,
      $window = $(window),
      position = {},
      nav = $('body > .topbar li a'),
      targets = nav.map(function () {
        return $(this).attr('href');
      }),
      offsets = $.map(targets, function (id) {
        return $(id).offset().top;
      });


  function setButton(id) {
    nav.parent("li").removeClass('active');
    $(nav[$.inArray(id, targets)]).parent("li").addClass('active');
  }

  function processScroll(e) {
    var scrollTop = $window.scrollTop() + 10, i;
    for (i = offsets.length; i--;) {
      if (activeTarget != targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || scrollTop <= offsets[i + 1])) {
        activeTarget = targets[i];
        setButton(activeTarget);
      }
    }
  }

  nav.click(function () {
    processScroll();
  });

  processScroll();

  $window.scroll(processScroll);


  // Dropdown example for topbar nav
  // ===============================

Mark Otto's avatar
Mark Otto committed
45
46
  $("body").bind("click", function (e) {
    $('a.menu').parent("li").removeClass("open");
Jacob Thornton's avatar
Jacob Thornton committed
47
  });
Jacob Thornton's avatar
Jacob Thornton committed
48

Mark Otto's avatar
Mark Otto committed
49
50
  $("a.menu").click(function (e) {
    var $li = $(this).parent("li").toggleClass('open');
Jacob Thornton's avatar
Jacob Thornton committed
51
52
    return false;
  });
53

Jacob Thornton's avatar
Jacob Thornton committed
54

55
  // table sort example
Jacob Thornton's avatar
Jacob Thornton committed
56
57
  // ==================

58
59
  $("#sortTableExample").tablesorter( {sortList: [[1,0]]} );

Jacob Thornton's avatar
Jacob Thornton committed
60
61
62
63

  // add on logic
  // ============

64
65
66
67
68
69
70
  $('.add-on :checkbox').click(function() {
    if ($(this).attr('checked')) {
      $(this).parents('.add-on').addClass('active');
    } else {
      $(this).parents('.add-on').removeClass('active');
    }
  });
Jacob Thornton's avatar
Jacob Thornton committed
71

Jacob Thornton's avatar
Jacob Thornton committed
72

73
  // Disable certain links in docs
Jacob Thornton's avatar
Jacob Thornton committed
74
75
  // =============================

76
  $('ul.tabs a, ul.pills a, .pagination a, .well .btn, .actions .btn, .alert-message .btn, a.close').click(function(e) {
77
78
    e.preventDefault();
  });
79

80
81
  // Copy code blocks in docs
  $(".copy-code").focus(function() {
Jacob Thornton's avatar
Jacob Thornton committed
82
83
84
    var el = this;
    // push select to event loop for chrome :{o
    setTimeout(function () { $(el).select(); }, 1);
85
86
87
  });


Jacob Thornton's avatar
Jacob Thornton committed
88
89
  // POSITION TWIPSIES
  // =================
90

Jacob Thornton's avatar
Jacob Thornton committed
91
92
93
94
  $('.twipsies.well a').each(function () {
    var type = this.title
      , $anchor = $(this)
      , $twipsy = $('.twipsy.' + type)
95

Jacob Thornton's avatar
Jacob Thornton committed
96
97
98
99
      , twipsy = {
          width: $twipsy.width() + 10
        , height: $twipsy.height() + 10
        }
100

Jacob Thornton's avatar
Jacob Thornton committed
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
      , anchor = {
          position: $anchor.position()
        , width: $anchor.width()
        , height: $anchor.height()
        }

      , offset = {
          above: {
            top: anchor.position.top - twipsy.height
          , left: anchor.position.left + (anchor.width/2) - (twipsy.width/2)
          }
        , below: {
            top: anchor.position.top + anchor.height
          , left: anchor.position.left + (anchor.width/2) - (twipsy.width/2)
          }
        , left: {
            top: anchor.position.top + (anchor.height/2) - (twipsy.height/2)
          , left: anchor.position.left - twipsy.width - 5
          }
        , right: {
            top: anchor.position.top + (anchor.height/2) - (twipsy.height/2)
          , left: anchor.position.left + anchor.width + 5
          }
124
125
      }

Jacob Thornton's avatar
Jacob Thornton committed
126
    $twipsy.css(offset[type])
127

Jacob Thornton's avatar
Jacob Thornton committed
128
  });
129

Jacob Thornton's avatar
Jacob Thornton committed
130
});