groundworkcss-rails 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/groundworkcss/rails/version.rb +1 -1
- data/lib/groundworkcss/rails/version.rb~ +1 -1
- data/vendor/assets/javascripts/groundworkcss/groundwork.all.js +96 -20
- data/vendor/assets/javascripts/groundworkcss/groundwork.js +51 -12
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.caption2.js +67 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.carousel.js +265 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.center.js +63 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.ie-fade.js +46 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.scrollVert.js +15 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.shuffle.js +62 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.swipe.js +70 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.tile.js +131 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/cycle/jquery.cycle2.video.js +66 -0
- data/vendor/assets/javascripts/groundworkcss/plugins/jquery.cycle2.js +1426 -0
- data/vendor/assets/stylesheets/groundworkcss-scss/_buttons.scss +4 -3
- data/vendor/assets/stylesheets/groundworkcss-scss/_cycle.scss +20 -0
- data/vendor/assets/stylesheets/groundworkcss-scss/_modals.scss +2 -1
- data/vendor/assets/stylesheets/groundworkcss-scss/_navigation.scss +9 -3
- data/vendor/assets/stylesheets/groundworkcss-scss/_tabs.scss +5 -0
- data/vendor/assets/stylesheets/groundworkcss-scss/groundwork.scss +2 -2
- metadata +25 -14
@@ -0,0 +1,63 @@
|
|
1
|
+
/*! center plugin for Cycle2; version: 20121121 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
$.extend($.fn.cycle.defaults, {
|
6
|
+
centerHorz: false,
|
7
|
+
centerVert: false
|
8
|
+
});
|
9
|
+
|
10
|
+
$(document).on( 'cycle-pre-initialize', function( e, opts ) {
|
11
|
+
if ( !opts.centerHorz && !opts.centerVert )
|
12
|
+
return;
|
13
|
+
|
14
|
+
// throttle resize event
|
15
|
+
var timeout, timeout2;
|
16
|
+
|
17
|
+
$(window).on( 'resize', resize );
|
18
|
+
|
19
|
+
opts.container.on( 'cycle-destroyed', destroy );
|
20
|
+
|
21
|
+
opts.container.on( 'cycle-slide-added', function( e, opts, slideOpts, slide ) {
|
22
|
+
adjustSlide.apply(slide);
|
23
|
+
});
|
24
|
+
|
25
|
+
adjustActive();
|
26
|
+
|
27
|
+
function resize() {
|
28
|
+
clearTimeout( timeout );
|
29
|
+
timeout = setTimeout( adjustActive, 50 );
|
30
|
+
}
|
31
|
+
|
32
|
+
function destroy( e, opts ) {
|
33
|
+
clearTimeout( timeout );
|
34
|
+
clearTimeout( timeout2 );
|
35
|
+
$( window ).off( 'resize', resize );
|
36
|
+
}
|
37
|
+
|
38
|
+
function adjustAll() {
|
39
|
+
opts.slides.each( adjustSlide );
|
40
|
+
}
|
41
|
+
|
42
|
+
function adjustActive() {
|
43
|
+
/*jshint validthis: true */
|
44
|
+
adjustSlide.apply( opts.container.find( opts.slideActiveClass ) );
|
45
|
+
clearTimeout( timeout2 );
|
46
|
+
timeout2 = setTimeout( adjustAll, 50 );
|
47
|
+
}
|
48
|
+
|
49
|
+
function adjustSlide() {
|
50
|
+
/*jshint validthis: true */
|
51
|
+
var slide = $(this);
|
52
|
+
var contW = opts.container.width();
|
53
|
+
var contH = opts.container.height();
|
54
|
+
var w = slide.width();
|
55
|
+
var h = slide.height();
|
56
|
+
if (opts.centerHorz && w < contW)
|
57
|
+
slide.css( 'marginLeft', (contW - w) / 2 );
|
58
|
+
if (opts.centerVert && h < contH)
|
59
|
+
slide.css( 'marginTop', (contH - h) / 2 );
|
60
|
+
}
|
61
|
+
});
|
62
|
+
|
63
|
+
})(jQuery);
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/*! ie-fade transition plugin for Cycle2; version: 20121120 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
function cleartype(before, opts, el) {
|
6
|
+
if ( before && el.style.filter ) {
|
7
|
+
opts._filter = el.style.filter;
|
8
|
+
try { el.style.removeAttribute('filter'); }
|
9
|
+
catch(smother) {} // handle old opera versions
|
10
|
+
}
|
11
|
+
else if ( !before && opts._filter ) {
|
12
|
+
el.style.filter = opts._filter;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
$.extend($.fn.cycle.transitions, {
|
17
|
+
fade: {
|
18
|
+
before: function( opts, curr, next, fwd ) {
|
19
|
+
var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
|
20
|
+
opts.API.stackSlides( curr, next, fwd );
|
21
|
+
opts.cssBefore = $.extend(css, { opacity: 0, display: 'block' });
|
22
|
+
opts.animIn = { opacity: 1 };
|
23
|
+
opts.animOut = { opacity: 0 };
|
24
|
+
cleartype( true, opts, next );
|
25
|
+
},
|
26
|
+
after: function( opts, curr, next ) {
|
27
|
+
cleartype( false, opts, next );
|
28
|
+
}
|
29
|
+
},
|
30
|
+
fadeout: {
|
31
|
+
before: function( opts , curr, next, fwd ) {
|
32
|
+
var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
|
33
|
+
opts.API.stackSlides( curr, next, fwd );
|
34
|
+
opts.cssBefore = $.extend(css, { opacity: 1, display: 'block' });
|
35
|
+
opts.animOut = { opacity: 0 };
|
36
|
+
cleartype( true, opts, next );
|
37
|
+
},
|
38
|
+
after: function( opts, curr, next ) {
|
39
|
+
cleartype( false, opts, next );
|
40
|
+
}
|
41
|
+
}
|
42
|
+
});
|
43
|
+
|
44
|
+
})(jQuery);
|
45
|
+
|
46
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*! scrollVert transition plugin for Cycle2; version: 20121120 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
$.fn.cycle.transitions.scrollVert = {
|
6
|
+
before: function( opts, curr, next, fwd ) {
|
7
|
+
opts.API.stackSlides( opts, curr, next, fwd );
|
8
|
+
var height = opts.container.css('overflow','hidden').height();
|
9
|
+
opts.cssBefore = { top: fwd ? -height : height, left: 0, opacity: 1, display: 'block' };
|
10
|
+
opts.animIn = { top: 0 };
|
11
|
+
opts.animOut = { top: fwd ? height : -height };
|
12
|
+
}
|
13
|
+
};
|
14
|
+
|
15
|
+
})(jQuery);
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/*! shuffle transition plugin for Cycle2; version: 20121120 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
$.fn.cycle.transitions.shuffle = {
|
6
|
+
|
7
|
+
transition: function( opts, currEl, nextEl, fwd, callback ) {
|
8
|
+
$( nextEl ).show();
|
9
|
+
var width = opts.container.css( 'overflow', 'visible' ).width();
|
10
|
+
var speed = opts.speed / 2; // shuffle has 2 transitions
|
11
|
+
var element = fwd ? currEl : nextEl;
|
12
|
+
|
13
|
+
opts = opts.API.getSlideOpts( fwd ? opts.currSlide : opts.nextSlide );
|
14
|
+
var props1 = { left:-width, top:15 };
|
15
|
+
var props2 = opts.slideCss || { left:0, top:0 };
|
16
|
+
|
17
|
+
if ( opts.shuffleLeft !== undefined ) {
|
18
|
+
props1.left = props1.left + parseInt(opts.shuffleLeft, 10) || 0;
|
19
|
+
}
|
20
|
+
else if ( opts.shuffleRight !== undefined ) {
|
21
|
+
props1.left = width + parseInt(opts.shuffleRight, 10) || 0;
|
22
|
+
}
|
23
|
+
if ( opts.shuffleTop ) {
|
24
|
+
props1.top = opts.shuffleTop;
|
25
|
+
}
|
26
|
+
|
27
|
+
// transition slide in 3 steps: move, re-zindex, move
|
28
|
+
$( element )
|
29
|
+
.animate( props1, speed, opts.easeIn || opts.easing )
|
30
|
+
.queue( 'fx', $.proxy(reIndex, this))
|
31
|
+
.animate( props2, speed, opts.easeOut || opts.easing, callback );
|
32
|
+
|
33
|
+
function reIndex(nextFn) {
|
34
|
+
/*jshint validthis:true */
|
35
|
+
this.stack(opts, currEl, nextEl, fwd);
|
36
|
+
nextFn();
|
37
|
+
}
|
38
|
+
},
|
39
|
+
|
40
|
+
stack: function( opts, currEl, nextEl, fwd ) {
|
41
|
+
var i, z;
|
42
|
+
|
43
|
+
if (fwd) {
|
44
|
+
opts.API.stackSlides( nextEl, currEl, fwd );
|
45
|
+
// force curr slide to bottom of the stack
|
46
|
+
$(currEl).css( 'zIndex', 1 );
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
z = 1;
|
50
|
+
for (i = opts.nextSlide - 1; i >= 0; i--) {
|
51
|
+
$(opts.slides[i]).css('zIndex', z++);
|
52
|
+
}
|
53
|
+
for (i = opts.slideCount - 1; i > opts.nextSlide; i--) {
|
54
|
+
$(opts.slides[i]).css('zIndex', z++);
|
55
|
+
}
|
56
|
+
$(nextEl).css( 'zIndex', opts.maxZ );
|
57
|
+
$(currEl).css( 'zIndex', opts.maxZ - 1 );
|
58
|
+
}
|
59
|
+
}
|
60
|
+
};
|
61
|
+
|
62
|
+
})(jQuery);
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*! swipe plugin for Cycle2; version: 20121120 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
// this script adds support for touch events. the logic is lifted from jQuery Mobile.
|
6
|
+
// if you have jQuery Mobile installed, you do NOT need this script
|
7
|
+
|
8
|
+
var supportTouch = 'ontouchend' in document;
|
9
|
+
|
10
|
+
$.event.special.swipe = $.event.special.swipe || {
|
11
|
+
scrollSupressionThreshold: 10, // More than this horizontal displacement, and we will suppress scrolling.
|
12
|
+
durationThreshold: 1000, // More time than this, and it isn't a swipe.
|
13
|
+
horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this.
|
14
|
+
verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this.
|
15
|
+
|
16
|
+
setup: function() {
|
17
|
+
var $this = $( this );
|
18
|
+
|
19
|
+
$this.bind( 'touchstart', function( event ) {
|
20
|
+
var data = event.originalEvent.touches ? event.originalEvent.touches[ 0 ] : event;
|
21
|
+
var stop, start = {
|
22
|
+
time: ( new Date() ).getTime(),
|
23
|
+
coords: [ data.pageX, data.pageY ],
|
24
|
+
origin: $( event.target )
|
25
|
+
};
|
26
|
+
|
27
|
+
function moveHandler( event ) {
|
28
|
+
if ( !start )
|
29
|
+
return;
|
30
|
+
|
31
|
+
var data = event.originalEvent.touches ? event.originalEvent.touches[ 0 ] : event;
|
32
|
+
|
33
|
+
stop = {
|
34
|
+
time: ( new Date() ).getTime(),
|
35
|
+
coords: [ data.pageX, data.pageY ]
|
36
|
+
};
|
37
|
+
|
38
|
+
// prevent scrolling
|
39
|
+
if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
|
40
|
+
event.preventDefault();
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
$this.bind( 'touchmove', moveHandler )
|
45
|
+
.one( 'touchend', function( event ) {
|
46
|
+
$this.unbind( 'touchmove', moveHandler );
|
47
|
+
|
48
|
+
if ( start && stop ) {
|
49
|
+
if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
|
50
|
+
Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
|
51
|
+
Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
|
52
|
+
|
53
|
+
start.origin.trigger( "swipe" )
|
54
|
+
.trigger( start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight" );
|
55
|
+
}
|
56
|
+
}
|
57
|
+
start = stop = undefined;
|
58
|
+
});
|
59
|
+
});
|
60
|
+
}
|
61
|
+
};
|
62
|
+
|
63
|
+
$.event.special.swipeleft = $.event.special.swipeleft || {
|
64
|
+
setup: function() {
|
65
|
+
$( this ).bind( 'swipe', $.noop );
|
66
|
+
}
|
67
|
+
};
|
68
|
+
$.event.special.swiperight = $.event.special.swiperight || $.event.special.swipeleft;
|
69
|
+
|
70
|
+
})(jQuery);
|
@@ -0,0 +1,131 @@
|
|
1
|
+
/*! tile transition plugin for Cycle2; version: 20121120 */
|
2
|
+
(function ($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
$.fn.cycle.transitions.tileSlide =
|
6
|
+
$.fn.cycle.transitions.tileBlind = {
|
7
|
+
|
8
|
+
before: function( opts, curr, next, fwd ) {
|
9
|
+
opts.API.stackSlides( curr, next, fwd );
|
10
|
+
$(curr).show();
|
11
|
+
opts.container.css('overflow', 'hidden');
|
12
|
+
// set defaults
|
13
|
+
opts.tileDelay = opts.tileDelay || opts.fx == 'tileSlide' ? 100 : 125;
|
14
|
+
opts.tileCount = opts.tileCount || 7;
|
15
|
+
opts.tileVertical = opts.tileVertical !== false;
|
16
|
+
|
17
|
+
if (!opts.container.data('cycleTileInitialized')) {
|
18
|
+
opts.container.on('cycle-destroyed', $.proxy(this.onDestroy, opts.API));
|
19
|
+
opts.container.data('cycleTileInitialized', true);
|
20
|
+
}
|
21
|
+
},
|
22
|
+
|
23
|
+
transition: function( opts, curr, next, fwd, callback ) {
|
24
|
+
opts.slides.not(curr).not(next).hide();
|
25
|
+
|
26
|
+
var tiles = $();
|
27
|
+
var $curr = $(curr), $next = $(next);
|
28
|
+
var tile, tileWidth, tileHeight, lastTileWidth, lastTileHeight,
|
29
|
+
num = opts.tileCount,
|
30
|
+
vert = opts.tileVertical,
|
31
|
+
height = opts.container.height(),
|
32
|
+
width = opts.container.width();
|
33
|
+
|
34
|
+
if ( vert ) {
|
35
|
+
tileWidth = Math.floor(width / num);
|
36
|
+
lastTileWidth = width - (tileWidth * (num - 1));
|
37
|
+
tileHeight = lastTileHeight = height;
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
tileWidth = lastTileWidth = width;
|
41
|
+
tileHeight = Math.floor(height / num);
|
42
|
+
lastTileHeight = height - (tileHeight * (num - 1));
|
43
|
+
}
|
44
|
+
|
45
|
+
// opts.speed = opts.speed / 2;
|
46
|
+
opts.container.find('.cycle-tiles-container').remove();
|
47
|
+
|
48
|
+
var animCSS;
|
49
|
+
var tileCSS = { left: 0, top: 0, overflow: 'hidden', position: 'absolute', margin: 0, padding: 0 };
|
50
|
+
if ( vert ) {
|
51
|
+
animCSS = opts.fx == 'tileSlide' ? { top: height } : { width: 0 };
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
animCSS = opts.fx == 'tileSlide' ? { left: width } : { height: 0 };
|
55
|
+
}
|
56
|
+
|
57
|
+
var tilesContainer = $('<div class="cycle-tiles-container"></div>');
|
58
|
+
tilesContainer.css({
|
59
|
+
zIndex: $curr.css('z-index'),
|
60
|
+
overflow: 'visible',
|
61
|
+
position: 'absolute',
|
62
|
+
top: 0
|
63
|
+
});
|
64
|
+
tilesContainer.insertBefore( next );
|
65
|
+
|
66
|
+
for (var i = 0; i < num; i++) {
|
67
|
+
tile = $('<div></div>')
|
68
|
+
.css( tileCSS )
|
69
|
+
.css({
|
70
|
+
width: ((num - 1 === i) ? lastTileWidth : tileWidth),
|
71
|
+
height: ((num - 1 === i) ? lastTileHeight : tileHeight),
|
72
|
+
marginLeft: vert ? ((i * tileWidth)) : 0,
|
73
|
+
marginTop: vert ? 0 : (i * tileHeight)
|
74
|
+
})
|
75
|
+
.append($curr.clone().css({
|
76
|
+
position: 'relative',
|
77
|
+
maxWidth: 'none',
|
78
|
+
width: $curr.width(),
|
79
|
+
margin: 0, padding: 0,
|
80
|
+
marginLeft: vert ? -(i * tileWidth) : 0,
|
81
|
+
marginTop: vert ? 0 : -(i * tileHeight)
|
82
|
+
}));
|
83
|
+
tiles = tiles.add(tile);
|
84
|
+
}
|
85
|
+
|
86
|
+
tilesContainer.append(tiles);
|
87
|
+
$curr.hide();
|
88
|
+
$next.show().css( 'opacity', 1 );
|
89
|
+
animateTile(fwd ? 0 : num - 1);
|
90
|
+
|
91
|
+
opts._tileAniCallback = function() {
|
92
|
+
$next.show();
|
93
|
+
$curr.hide();
|
94
|
+
tilesContainer.remove();
|
95
|
+
callback();
|
96
|
+
};
|
97
|
+
|
98
|
+
function animateTile(i) {
|
99
|
+
tiles.eq(i).animate( animCSS, {
|
100
|
+
duration: opts.speed,
|
101
|
+
easing: opts.easing,
|
102
|
+
complete: function () {
|
103
|
+
if (fwd ? (num - 1 === i) : (0 === i)) {
|
104
|
+
opts._tileAniCallback();
|
105
|
+
}
|
106
|
+
}
|
107
|
+
});
|
108
|
+
|
109
|
+
setTimeout(function () {
|
110
|
+
if (fwd ? (num - 1 !== i) : (0 !== i)) {
|
111
|
+
animateTile(fwd ? (i + 1) : (i - 1));
|
112
|
+
}
|
113
|
+
}, opts.tileDelay);
|
114
|
+
}
|
115
|
+
},
|
116
|
+
|
117
|
+
// tx API impl
|
118
|
+
stopTransition: function( opts ) {
|
119
|
+
opts.container.find('*').stop( true, true );
|
120
|
+
if (opts._tileAniCallback)
|
121
|
+
opts._tileAniCallback();
|
122
|
+
},
|
123
|
+
|
124
|
+
// core API supplement
|
125
|
+
onDestroy: function( e ) {
|
126
|
+
var opts = this.opts();
|
127
|
+
opts.container.find('.cycle-tiles-container').remove();
|
128
|
+
}
|
129
|
+
};
|
130
|
+
|
131
|
+
})(jQuery);
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/*! youtube plugin for Cycle2; version: 20121120 */
|
2
|
+
(function($) {
|
3
|
+
"use strict";
|
4
|
+
|
5
|
+
var template = '<div><object width="640" height="360">' +
|
6
|
+
'<param name="movie" value="{{url}}"></param>' +
|
7
|
+
'<param name="allowFullScreen" value="{{allowFullScreen}}"></param>' +
|
8
|
+
'<param name="allowscriptaccess" value="always"></param>' +
|
9
|
+
'<embed src="{{url}}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="{{allowFullScreen}}"></embed>' +
|
10
|
+
'</object></div>';
|
11
|
+
|
12
|
+
$.extend($.fn.cycle.defaults, {
|
13
|
+
youtubeAllowFullScreen: true,
|
14
|
+
youtubeAutostart: false,
|
15
|
+
youtubeAutostop: true
|
16
|
+
});
|
17
|
+
|
18
|
+
$(document).on( 'cycle-bootstrap', function( e, opts ) {
|
19
|
+
if ( ! opts.youtube )
|
20
|
+
return;
|
21
|
+
|
22
|
+
// don't hide inactive slides; hiding video causes reload when it's shown again
|
23
|
+
opts.hideNonActive = false;
|
24
|
+
|
25
|
+
opts.container.find( opts.slides ).each(function(i) {
|
26
|
+
// convert anchors to template markup
|
27
|
+
var markup, slide = $(this), url = slide.attr( 'href' );
|
28
|
+
var fs = opts.youtubeAllowFullScreen ? 'true' : 'false';
|
29
|
+
url += ( /\?/.test( url ) ? '&' : '?') + 'enablejsapi=1';
|
30
|
+
if ( opts.youtubeAutostart && opts.startingSlide === i )
|
31
|
+
url += '&autoplay=1';
|
32
|
+
markup = opts.API.tmpl( template, { url: url, allowFullScreen: fs });
|
33
|
+
slide.replaceWith( markup );
|
34
|
+
});
|
35
|
+
opts.slides = '>div';
|
36
|
+
|
37
|
+
if ( opts.youtubeAutostart ) {
|
38
|
+
opts.container.on( 'cycle-initialized cycle-after', function( e, opts ) {
|
39
|
+
var index = e.type == 'cycle-initialized' ? opts.currSlide : opts.nextSlide;
|
40
|
+
$( opts.slides[ index ] ).find('object,embed').each( play );
|
41
|
+
});
|
42
|
+
}
|
43
|
+
|
44
|
+
if ( opts.youtubeAutostop ) {
|
45
|
+
opts.container.on( 'cycle-before', function( e, opts ) {
|
46
|
+
$( opts.slides[ opts.currSlide ] ).find('object,embed').each( pause );
|
47
|
+
});
|
48
|
+
}
|
49
|
+
});
|
50
|
+
|
51
|
+
function play() {
|
52
|
+
/*jshint validthis:true */
|
53
|
+
try {
|
54
|
+
this.playVideo();
|
55
|
+
}
|
56
|
+
catch( ignore ) {}
|
57
|
+
}
|
58
|
+
function pause() {
|
59
|
+
/*jshint validthis:true */
|
60
|
+
try {
|
61
|
+
this.pauseVideo();
|
62
|
+
}
|
63
|
+
catch( ignore ) {}
|
64
|
+
}
|
65
|
+
|
66
|
+
})(jQuery);
|