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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
/*
Read Only by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
(function($) {
skel.breakpoints({
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 1024px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
});
$(function() {
var $body = $('body'),
$header = $('#header'),
$nav = $('#nav'), $nav_a = $nav.find('a'),
$wrapper = $('#wrapper');
// Fix: Placeholder polyfill.
$('form').placeholder();
// Prioritize "important" elements on medium.
skel.on('+medium -medium', function() {
$.prioritize(
'.important\\28 medium\\29',
skel.breakpoint('medium').active
);
});
// Header.
var ids = [];
// Set up nav items.
$nav_a
.scrolly({ offset: 44 })
.on('click', function(event) {
var $this = $(this),
href = $this.attr('href');
// Not an internal link? Bail.
if (href.charAt(0) != '#')
return;
// Prevent default behavior.
event.preventDefault();
// Remove active class from all links and mark them as locked (so scrollzer leaves them alone).
$nav_a
.removeClass('active')
.addClass('scrollzer-locked');
// Set active class on this link.
$this.addClass('active');
})
.each(function() {
var $this = $(this),
href = $this.attr('href'),
id;
// Not an internal link? Bail.
if (href.charAt(0) != '#')
return;
// Add to scrollzer ID list.
id = href.substring(1);
$this.attr('id', id + '-link');
ids.push(id);
});
// Initialize scrollzer.
$.scrollzer(ids, { pad: 300, lastHack: true });
// Off-Canvas Navigation.
// Title Bar.
$(
'<div id="titleBar">' +
'<a href="#header" class="toggle"></a>' +
'<span class="title">' + $('#logo').html() + '</span>' +
'</div>'
)
.appendTo($body);
// Header.
$('#header')
.panel({
delay: 500,
hideOnClick: true,
hideOnSwipe: true,
resetScroll: true,
resetForms: true,
side: 'right',
target: $body,
visibleClass: 'header-visible'
});
// Fix: Remove navPanel transitions on WP<10 (poor/buggy performance).
if (skel.vars.os == 'wp' && skel.vars.osVersion < 10)
$('#titleBar, #header, #wrapper')
.css('transition', 'none');
});
})(jQuery);
|