Giter Club home page Giter Club logo

atvimg's Introduction

atvImg

atvImg = 'AppleTV Image'

Made by http://drewwilson.com


This lightweight (2kb) plug-in will automatically turn your layered Apple TV PNGs into 3D parallax icons, the same way the new Apple TV treats app icons. You can have any number of AppleTV Images on your web page.

No dependencies, this plugin is just plain ol' vanilla javascript. Works on all major browsers. It even supports touch and mobile.

atcImg example

A live example of this plug-in can bee seen here: http://kloc.pm

Here is a video explaining how it works: http://d.pr/v/18YXv

Here is a video showing off the touch/mobile support: http://d.pr/v/1k2Ju


Here is how to setup the HTML for a single atvImg:

<div class="atvImg">
   <img src="/images/flattened-icon.jpg">
   
   <div class="atvImg-layer" data-img="/images/back.png"></div>
   <div class="atvImg-layer" data-img="/images/front.png"></div>
</div>

You can have any number of '.atvImg-layer' elements. So add as many as your icon needs. Be sure to use 2x (retina) scale PNGs. The plug-in will downscale for 1x screens. Using 2x scale PNGs is recommended so the icon will appear crisp on 2x screens.

Layer images should be 2x the size you want to display the icon as. The plug-in will adapt the atvImg to be whatever size it's parent element is. So if you set your '.atvImg' element to be 320px X 190px, that is how big the icon will appear. If you set it to be 640px X 380px, that is how big it will appear. Just be sure to use the correct aspect ratio for AppleTV icons.

The <img> element in the example above is a fallback in case javascript is not allowed to run. It will be removed when the plug-in is running. Put a flattened version (no layers) of you icon in there.

Then call the function in you <script> tag or JS file like this:

atvImg();

Just be sure you add that line after you've loaded the DOM. So put it below all your page's HTML just before the closing </body> tag or in a document.ready() function.


This atvImg plug-in is dual licensed under the MIT and GPL licenses:

I used http://designmodo.com/apple-tv-effect as reference and inspiration when creating this plug-in.

atvimg's People

Contributors

avevlad avatar drewwilson avatar vitorgalvao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atvimg's Issues

no image displaying

     <div class="atvImg-layer" data-img="images/back.png"></div>
     <div class="atvImg-layer" data-img="images/front.png"></div>
  </div>

used same images as give in demo site

Responsive

Is it possible to make it responsive, i wish to wrap it in bootstrap's col-xx-xx grid system. I can only get it to display if i set a fixed width.

Feature Request - Options

Can we get some options on this to adjust things like the zoom level, sensitivity, shine etc on this at all please?

Thanks.

AngularJS support

Hi,
amazing plugin!
I was just wondering if somebody knows how can configure it to work with angularjs.
Any suggestion?

Allow text as a layer

Would be nice to allow the user to add a layer with text. Or is this already possible? Because it seems to empty the layer if I add text in a div with the class "atvImg-layer"

Image not showing

I see that the scripts remove the first child, but then it does not append it.
On your demo, you have added width and height inside the styles. This does not allow support for variable image sizes.

Safari

First of all: This script is great!!! I love how easy & light it is!!!

In Chrome & IE the effect is great (i haven`t tested Firefox yet). But in Safari it seems that only the shining effect but not the 3D Animation works... Anything i do wrong?

Cheers,
Max

cannot get it running

First of all i apologize for my stupid question. ๐Ÿ˜„
im not familiar with javascript but i want to test your cool plugin.

i created the following html page, but i dont get the plugin running at all.

<html>
<body>
<div class="atvImg">
   <img src="/images/Mario-Mushroom.png">
   <div class="atvImg-layer" data-img="/images/Mario-Mushroom.png"></div>
</div>
<script type="javascript" src="atvImg.js"></script>
<script>atvImg();</script>
</body>
</html>

The paths are correct but i only see the flattened image ๐Ÿ˜ž

THX so much

Images not showing up

Hi,

Great library, I am having a issue the js is working but the newly created div has a height of 0px and no images are showing up. I have checked the image paths, Images have been downloaded from the sample website you created.

Here is the code:

    <link href="css/atvImg.css" rel="stylesheet">

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0">
<script src="atvImg.js"></script>
<script> atvImg(); </script>

Add project desc

Right now the description is blank:

screen shot 2016-08-23 at 1 44 04 pm

A great project like this should always have a description. I would recommend something like:

Turn your layered Apple TV PNGs into 3D parallax icons with JS

Touch behavior does not allow for swiping/scrolling

I have a series of these atvImg graphics in a scrollable container (similar to how an Apple TV would). It works perfectly on desktop, but the problem is when the user wants to scroll the page/container on a touch device and they start their swipe on one of the atvImg graphics (which then prevents the default scrolling behavior). I personally commented out e.preventDefault(); in the touchmove event listener as a quick fix.

I had two ideas come to mind:

  1. This could be added as an option when initiating atvImg(); so people can enable/disable e.preventDefault(); for touch devices depending on their interface needs.
  2. Add swipe detection so swipes allow the user to scroll normally while non-swipes will prevent the page/container from scrolling.

I'm not sure if you'd want to go with one idea over the other (or both) so I'm not submitting this as a pull request at this time.

Touchscreen computers support

Hi,

I am using a computer which has got both a touchscreen and a trackpad / can be connected to a mouse and thus has touch support although I mostly use a mouse, thus the plugin does not show any hover effects as long as the touchScreen is on. I forked the project and enabled both event handling functions at a time, it seems to work fine on both touch and pointer interfaces.

Thanks !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.