Coder Social home page Coder Social logo

image-grid's Introduction

image-grid

Fast minimalist image-grid.

Layout elements with known aspect ratios in a grid as seen on flickr or google image search. Elements can be either raw or wrapped images with width and height attributes - or wrapper elements with a data-ratio attribute.

  • Very fast due to using managed stylesheets instead of inline styles.
  • No library dependencies.
  • And - oh yeah, it's fast!

DEMO

Usage

image-grid will handle the layout of images in a container.

HTML

<div class="container">
    <img width="400" height="400" src="http://lorempixel.com/400/400?2" />
    <img width="520" height="400" src="http://lorempixel.com/520/400?3" />
    <img width="400" height="400" src="http://lorempixel.com/400/400?4" />
    <img width="440" height="400" src="http://lorempixel.com/440/400?5" />
    <img width="360" height="400" src="http://lorempixel.com/360/400?6" />
    <img width="400" height="400" src="http://lorempixel.com/400/400?7" />
    <img width="360" height="400" src="http://lorempixel.com/360/400" />
    <img width="600" height="400" src="http://lorempixel.com/600/400" />
    <img width="480" height="400" src="http://lorempixel.com/480/400" />
    <img width="520" height="400" src="http://lorempixel.com/520/400" />
    <img width="560" height="400" src="http://lorempixel.com/560/400" />
    <img width="480" height="400" src="http://lorempixel.com/480/400?13" />
    <img width="560" height="400" src="http://lorempixel.com/560/400?14" />
    <img width="320" height="400" src="http://lorempixel.com/320/400?15" />
    <img width="480" height="400" src="http://lorempixel.com/480/400?16" />
    <img width="440" height="400" src="http://lorempixel.com/440/400?17" />
    <div>
    	<img width="520" height="400" src="http://lorempixel.com/520/400?18" />
    </div>
    <div data-ratio="16-9">
    	<img src="http://lorempixel.com/800/450?19" />
    </div>
</div>

JS

var grid = require("image-grid");

// Create a new image-grid.

var myImageGrid = grid(".container", {
	maxHeight: 200,
	margin: 1,
	callback: function () {
		// do stuff because layout changed.
	}
});

// Set new options

myImageGrid.set({
	margin: 10
});

// Deactivate the grid before removing it from the DOM.

myImageGrid.deactivate();
myImageGrid.container.parentNode.removeChild(myImageGrid.container);

API

imageGrid

Create an image-grid to handle the layout of images in a container.

Arguments
  • selector (string) - The selector of the image-grid container element.
  • options
    • maxHeight (number) - Optional. The maximum height of each row of images in the grid. Default is 100.
    • margin (number) - Optional. The margin between images in the grid. Default is 10.
    • callback (function) - Optional. This callback will be called everytime the layout is re-rendered. Default is null.
Returns

An image-grid instance.

image-grid instance methods

#.set

Can be used to change options after instance creation.

Arguments
  • options See imageGrid options argument.

#.render

Can be called to refresh the layout manually.

Arguments
  • force (boolean) - Optional. .

#.deactivate

Deactivates the grid and removes the stylesheet for the instance and events if necessary.

#.activate

Re-active deactivated instance.

image-grid's People

Contributors

phloe avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

image-grid's Issues

Demo is down

I'd like to have a look at how your plugin displays, but the demo seems to be down.

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.