diff options
author | Rory Gibson <rg.rorygibson@gmail.com> | 2014-01-22 00:45:50 +0400 |
---|---|---|
committer | Rory Gibson <rg.rorygibson@gmail.com> | 2014-01-22 00:45:50 +0400 |
commit | 13ccdab70c481cdd81e4bb31f484b99da4409797 (patch) | |
tree | 96befcb7d595cfd4d925507ad7bfc8eca6c0507c | |
parent | d635aae2f62598a45e75d49de2823b72912c6f81 (diff) |
Added fitvid.js for responsive video support
-rw-r--r-- | assets/css/style.css | 3 | ||||
-rw-r--r-- | assets/js/jquery.fitvids.js | 74 | ||||
-rw-r--r-- | assets/js/scripts.js | 6 | ||||
-rw-r--r-- | assets/sass/.sass-cache/4c0f184ddf523d9e41705de4a1576d5b51e21674/style.scssc | bin | 41935 -> 42240 bytes | |||
-rw-r--r-- | assets/sass/style.scss | 2 | ||||
-rw-r--r-- | default.hbs | 1 |
6 files changed, 86 insertions, 0 deletions
diff --git a/assets/css/style.css b/assets/css/style.css index bc8bb22..df4b662 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -104,6 +104,9 @@ table { color: #000; display: block; } +.fluid-width-video-wrapper { + margin-bottom: 40px; } + /* ============================================================ */ /* General Appearance */ /* ============================================================ */ diff --git a/assets/js/jquery.fitvids.js b/assets/js/jquery.fitvids.js new file mode 100644 index 0000000..a8551f6 --- /dev/null +++ b/assets/js/jquery.fitvids.js @@ -0,0 +1,74 @@ +/*global jQuery */ +/*jshint multistr:true browser:true */ +/*! +* FitVids 1.0.3 +* +* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ +* +* Date: Thu Sept 01 18:00:00 2011 -0500 +*/ + +(function( $ ){ + + "use strict"; + + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null + }; + + if(!document.getElementById('fit-vids-style')) { + + var div = document.createElement('div'), + ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0], + cssStyles = '­<style>.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>'; + + div.className = 'fit-vids-style'; + div.id = 'fit-vids-style'; + div.style.display = 'none'; + div.innerHTML = cssStyles; + + ref.parentNode.insertBefore(div,ref); + + } + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + "iframe[src*='player.vimeo.com']", + "iframe[src*='youtube.com']", + "iframe[src*='youtube-nocookie.com']", + "iframe[src*='kickstarter.com'][src*='video.html']", + "object", + "embed" + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var $allVideos = $(this).find(selectors.join(',')); + $allVideos = $allVideos.not("object object"); // SwfObj conflict patch + + $allVideos.each(function(){ + var $this = $(this); + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('id')){ + var videoID = 'fitvid' + Math.floor(Math.random()*999999); + $this.attr('id', videoID); + } + $this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; +// Works with either jQuery or Zepto +})( window.jQuery || window.Zepto ); diff --git a/assets/js/scripts.js b/assets/js/scripts.js index 6bb2fc6..2bf2418 100644 --- a/assets/js/scripts.js +++ b/assets/js/scripts.js @@ -1,6 +1,12 @@ jQuery(function($) { /* ============================================================ */ + /* Responsive Videos */ + /* ============================================================ */ + + $(".post-content").fitVids(); + + /* ============================================================ */ /* Scroll To Top */ /* ============================================================ */ diff --git a/assets/sass/.sass-cache/4c0f184ddf523d9e41705de4a1576d5b51e21674/style.scssc b/assets/sass/.sass-cache/4c0f184ddf523d9e41705de4a1576d5b51e21674/style.scssc Binary files differindex 2f44db6..c7b9865 100644 --- a/assets/sass/.sass-cache/4c0f184ddf523d9e41705de4a1576d5b51e21674/style.scssc +++ b/assets/sass/.sass-cache/4c0f184ddf523d9e41705de4a1576d5b51e21674/style.scssc diff --git a/assets/sass/style.scss b/assets/sass/style.scss index fab9269..8da6ff7 100644 --- a/assets/sass/style.scss +++ b/assets/sass/style.scss @@ -116,6 +116,8 @@ table { display: block; } +.fluid-width-video-wrapper { margin-bottom: 40px; } + /* ============================================================ */ /* General Appearance */ /* ============================================================ */ diff --git a/default.hbs b/default.hbs index 33e3920..61a8141 100644 --- a/default.hbs +++ b/default.hbs @@ -64,6 +64,7 @@ <script type="text/javascript" src="{{asset "js/jquery.history.js"}}"></script> <script type="text/javascript" src="{{asset "js/nprogress.js"}}"></script> + <script type="text/javascript" src="{{asset "js/jquery.fitvids.js"}}"></script> <script type="text/javascript" src="{{asset "js/scripts.js"}}"></script> </body> |