Blog


Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/plugins/content/easytagcloud/easytagcloud.php on line 61

WebKit Has Implemented srcset, And It’s A Good Thing

It’s our great pleasure to support active members of the Web design and development community. Today, we’re proud to present the Jelly Navigation Menu that shows the power of PaperJS and TweenJS when used together. This article is yet another golden nugget of our series of various tools, libraries and techniques that we’ve published here on Smashing Magazine: LiveStyle, PrefixFree, Foundation, Sisyphus.js, GuideGuide, Gridpak, JS Bin and CSSComb. — Ed.

 

There is no doubt that the Web helps designers and developers find the best inspiration and resources for their projects. Even though there are a bunch of different tutorials and tips available online, I feel that HTML5 canvas techniques are missing the most. Good news: I had the chance to fulfill this wide gap. In this article, I would like to share my experience and story of how I brought the “Jelly Navigation Menu” to life. Credits go to Capptivate.co and Ashleigh Brennan’s icons — they were my inspiration for this project.

Before We Start

The source code for this project was originally written in CoffeeScript — I believe it’s a better way to express and share JavaScript code that way. I will refer to CoffeScript’s source in code sections within this post and you’ll also notice links to CodePens that have been rewritten in JavaScript and represent local parts of code as well. I recommend downloading the source code on GitHub so you can easily follow me while I explain the necessary code in detail.

I used PaperJS for the canvas graphics and TweenJS for the animations. Both of them tend to freak out some folks, but don’t worry, they are really intuitive and easy to understand. If you’d like to learn how to set up PaperJS and TweenJS environments, you can fork this cool bootstrap pen for online fun or this git repo if you want to experiment locally.

Tag Cloud


Strict Standards: Non-static method modTagcloudhelper::getTags() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/mod_easytagcloud.php on line 39

Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 23

Strict Standards: Non-static method modTagcloudhelper::tagSort() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 74

Strict Standards: Non-static method modTagcloudhelper::colorBuilder() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 110

Strict Standards: Non-static method modTagcloudhelper::colorBuilder() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 111

Strict Standards: Non-static method modTagcloudhelper::colorBuilder() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 112

Strict Standards: Non-static method modTagcloudhelper::colorBuilder() should not be called statically in /home/linking/public_html/modules/mod_easytagcloud/helper.php on line 113

Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
911
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
adapter
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
Android
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
Apple
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
BlackBerry
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
BYOD
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
dispatch
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
Emergency
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
guide
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
headset
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
iOS
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
javascript
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
keyboard
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
mobile
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
noise canceling
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
web
Strict Standards: Only variables should be assigned by reference in /home/linking/public_html/modules/mod_easytagcloud/tmpl/default.php on line 50
webkit