Easily move elements between containers with media queries.
Uses matchMedia, if supported, or Paul Irish's polyfill to move elements on resize.
We are no longer actively using this on projects. Feel free to poke around, however this project may not be compliant with the latest version of jQuery.
-
Development: jquery.transport.js
-
Production: jquery.transport.min.js
jQuery.Transport looks for the following pattern in a data-transport
attribute
of an html element:
<div data-transport="[media query key]![selector]|[media query key]![selector]...(and so on)"></div>
You can alias media queries by passing an object into the plugin creation method:
$('[data-transport]').transport({
mobile: '(max-width: 500px)'
tablet: '(max-width: 1024px)'
});
With the matching html:
<main id="main"></main>
<footer id="footer"></footer>
<aside id="sidebar">
<!-- The Important Stuff -->
<div data-transport="tablet!#main|mobile!#footer">
<p>
Breakdown: at tablet, screen and (max-width: 1024px), this is transported to $("#main").
At mobile, screen and (max-width: 500px), this is transported to $("#footer").
</p>
</div>
</aside>
View this repo's demo page.
brew install phantomjs
npm test
Visit code.viget.com to see more projects from Viget.