Issue #7 (scrollIntoView(), RWD, JS Utilities, Documents/Files)
(Skip to the tools section below)
When dealing with content that scrolls, nowadays many apps and websites are incorporating animated scrolling. This might involve using jQuery's scrollTop() combined with animate(), or maybe a library or plugin like this one or this one.
Here's how it works:
var el = document.getElementById('el');
It's that simple. Using the above example, the page will scroll until the targeted element is scrolled into view, placing it right at the top of the page. You also have the option to pass an optional parameter called alignWithTop, which is a Boolean. The default sets alignWithTop to "true", thus aligning the element with the top of the scroll area.
Or it can be set to false, like this:
var el = document.getElementById('el');
Then the targeted element will align to the bottom of the scroll area. You can view this method in action at this JS Bin demo. You'll notice that page has a whole slew of ipsum content just to allow scrolling, and one of the paragraphs is ID'd and targeted as the scroll-to point.
Browser support for this method is excellent (IE7+ and everywhere else that's relevant). What's interesting is that there are a few other related methods that are not part of the spec and that have spotty support. These include scrollIntoViewIfNeeded() (which centers the element in the viewport), scrollByLines() (which lets you scroll the window by a set number of lines), and scrollByPages() (which scrolls by pages, where a single page is the visible vertical space on the page).
More info: scrollIntoView, scrollByLines, scrollIntoViewIfNeeded (polyfill)
Now on to this week's tools!
Responsive Design Tools
An "easy to install, easy to use jQuery plugin that turns your <img> tags into responsive images with retina alternatives."
"The goal of this library is to deliver optimized, contextual image sizes in responsive layouts that utilize dramatically different image sizes at different resolutions in order to improve page load time."
Currently doing beta invites, this is "a service that optimizes and delivers perfect images for every screen."
Jekyll Picture Tag
A Jekyll-based responsive images solution that follows the proposed picture element pattern, polyfilling with Scott Jehl's Picturefill.
This is great. Enter a URL for something you want to embed from one of the supported services (YouTube, Instagram, Vimeo, etc.) and it will spit out the embed code for you with the CSS to make the embedded object responsive.
Off Screen Navs
One of those off-screen nav patterns. This one demonstrates moving both a navigation bar and a contact form from the same page into nav buttons on the left and right for small screens.
There are tons of these types of tools floating around that allow you to test your responsive designs on different screen sizes. This one is very nicely designed and easy to use. It's also LiveReload-compatible and has a device preview mode.
Random User Generator
"An API that provides you with a randomly generated user. These users can be used as placeholders in web mockups, and will save you time from creating your own placeholder information."
A library of 100+ helpers for the Handlebars.js templating language.
A library to play sound alerts. Includes 7 sounds out of the box, and allows you to add your own custom sounds.
A JS-based lossless data compression method, specifically designed to improve on the limits of the localStorage API in browsers.
Document/File Management Tools
A BASH script that can be used to upload, download, list or delete files from Dropbox.
"Send an encrypted, password protected note instead and be notified after it's been read and shred."
A Photoshop file parser written in Ruby that allows you to work with a Photoshop document in a manageable tree structure and find out important data such as size, layer/folder names, font names, font sizes, etc.
Want to save a string of text at a unique URL? It doesn't get easier than this.
"A modern word processor that enables you to create beautiful documents on any device — phones, tablets and the desktop."
"A simple Google Apps script to convert a properly formatted Google Drive Document to the markdown (.md) format."
"Easy version control and collaboration for writers." I've used this one — it's elegant and very easy to use.
Send links via Twitter @WebToolsWeekly (details here). No tutorials or articles, please.
Suggest Your Tool via Twitter
To help Web Tools Weekly stay ad free, you can go to the donate page and give something small ($2 per subscriber would be more than enough). Thanks to those who have contributed already!
If you have an opinion on how this newsletter can be improved, or any corrections to report, feel free to reply to this email directly.
Before I Go...
If you're always on the lookout for inspiration and ideas for a new startup or a side project, you might want to add Firespotting to your list of feeds. It's a Hacker News-inspired feed for brainstorming new ideas. Some of the posts are already-existing sites, while others are merely twinkles in the eyes of developers and entrepreneurs.
Thanks to all for subscribing and reading!