Skip to content

Instantly share code, notes, and snippets.

View jackmakesthings's full-sized avatar
🌙

jack jackmakesthings

🌙
View GitHub Profile
@jackmakesthings
jackmakesthings / mq4-hover.css
Last active August 28, 2015 01:14 — forked from aarongustafson/mq4-hover.css
Code samples from my Responsive Day Out talk Where Do We Go From Here?
@media (hover:hover) {
/* hover-related interactions are A-OK */
}
@media (hover:on-demand) {
/* hover-related interactions are potentially difficult,
maybe do something else instead */
}
@media (hover:none) {
/* No hover possible :-( */
}
@jackmakesthings
jackmakesthings / Hello kittens
Last active August 29, 2015 13:56
Generated by SassMeister.com.
Showing a buddy one way to do container elements.
@jackmakesthings
jackmakesthings / modular-content.php
Last active August 29, 2015 13:56
How to streamline a bunch of dynamic bits in php
<?php
/**
* so let's say this is your overall page template, index.php or whatever
* you could set a variable up top that dictates the module types that are possible
**/
$modules = array(
'gallery',
'faq',
@jackmakesthings
jackmakesthings / trigger-repaints.js
Created March 18, 2014 13:23
snippet from a (handy) article on viewport units - how to force elements to repaint to get around a chrome vh/vw resizing bug. which is probably fixed by now, but i can think of other uses for this. -- http://css-tricks.com/viewport-sized-typography/
causeRepaintsOn = $("h1, h2, h3, p");
$(window).resize(function() {
causeRepaintsOn.css("z-index", 1);
});
// todo: un-jquerify, for the hell of it
@jackmakesthings
jackmakesthings / 0_reuse_code.js
Created March 20, 2014 03:59
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
function throttle( fn, time ) {
var t = 0;
return function() {
var args = arguments, ctx = this;
clearTimeout(t);
t = setTimeout( function() {
fn.apply( ctx, args );
}, time );
};
@jackmakesthings
jackmakesthings / css_resources.md
Created March 20, 2014 04:02 — forked from jookyboi/css_resources.md
CSS libraries and guides to bring some order to the chaos.

Libraries

  • 960 Grid System - An effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.
  • Compass - Open source CSS Authoring Framework.
  • Bootstrap - Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
  • Font Awesome - The iconic font designed for Bootstrap.
  • Zurb Foundation - Framework for writing responsive web sites.
  • SASS - CSS extension language which allows variables, mixins and rules nesting.
  • Skeleton - Boilerplate for responsive, mobile-friendly development.

Guides

@jackmakesthings
jackmakesthings / javascript_resources.md
Created March 20, 2014 04:02 — forked from jookyboi/javascript_resources.md
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage
@jackmakesthings
jackmakesthings / SassMeister-input-HTML.html
Created April 7, 2014 21:09
Generated by SassMeister.com.
<div>
<img src="http://placekitten.com/250/150">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat, fuga, natus, odit in dicta aspernatur tenetur nostrum deleniti vitae quis laudantium vel repudiandae alias quibusdam optio illo officiis et asperiores.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, error, voluptate, nostrum ullam dolorum aliquid ad vel velit sit eius neque nemo ratione exercitationem rerum ipsa suscipit vitae iure cupiditate.</p>
</div>

How to make faster scroll effects?

  • Avoid too many reflows (the browser to recalculate everything)
  • Use advanced CSS3 for graphic card rendering
  • Precalculate sizes and positions

Beware of reflows

The reflow appens as many times as there are frames per seconds. It recalculate all positions that change in order to diplay them. Basically, when you scroll you execute a function where you move things between two reflows. But there are functions that triggers reflows such as jQuery offset, scroll... So there are two things to take care about when you dynamically change objects in javascript to avoid too many reflows: