A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images.

Overview

jQuery GRIDDER 1.4.2 Buy Me a Coffee at ko-fi.com unheap CDNJS version

Gridder Example

=======

A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images.

We have all searched images on Google, so you probably noticed the interesting expanding preview when you click on a thumbnail. It’s a very nice effect and practical, allowing you quickly see more details without having to reload a new page. This plugin allows you to recreate a similar effect on a thumbnail grid. The idea is to open a preview when clicking on a thumbnail and to show a larger image and some other content like a title, a description and a link

=======

Alternative version of Gridder that support html 5 pushstate (REQUIRES SERVER KNOWLEDGE)

Live demo GRIDDER v2 : https://www.oriongunning.com/demo/gridder-ajax/demo.php

=======

NEW

*24 June 2015 You can now load content via ajax. Simply replace the #ID with an URL.

=======

FEATURES

  • Multiple instances
  • Really easy to use and customize
  • Expanding preview with details
  • Smooth Scrolling
  • Callbacks (so you can launch other plugins)

Coming soon ...

  • Hot Linking

=======

Usage

  1. Include jQuery:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
  2. Include plugin's code:

    <script src="dist/jquery.gridder.min.js"></script>
  3. HTML

    <!-- Gridder navigation -->
    <ul class="gridder">
    
         <!-- You can load specify which content is loaded by specifying the #ID of the div where the content is  -->
        <li class="gridder-list" data-griddercontent="#content1">
            <img src="https://placehold.it/600x400" />
        </li>
        <li class="gridder-list" data-griddercontent="#content2">
            <img src="https://placehold.it/600x400" />
        </li>
        <li class="gridder-list" data-griddercontent="#content3">
            <img src="https://placehold.it/600x400" />
        </li>
    
        <!-- You can also load html/ajax pages by replacing the #ID with a URL -->
        <li class="gridder-list" data-griddercontent="/content.html">
            <img src="https://placehold.it/600x400" />
        </li>
    </ul>
    
    <!-- Gridder content -->
    <div id="content1" class="gridder-content"> Content goes here... </div>
    <div id="content2" class="gridder-content"> Content goes here... </div>
    <div id="content3" class="gridder-content"> Content goes here... </div>
  4. Call the plugin:

    <script>
    $(function() {
    
        // Call Gridder
        $('.gridder').gridderExpander({
            scroll: true,
            scrollOffset: 30,
            scrollTo: "panel",                  // panel or listitem
            animationSpeed: 400,
            animationEasing: "easeInOutExpo",
            showNav: true,                      // Show Navigation
            nextText: "Next",                   // Next button text
            prevText: "Previous",               // Previous button text
            closeText: "Close",                 // Close button text
            onStart: function(){
                //Gridder Inititialized
            },
            onContent: function(){
                //Gridder Content Loaded
            },
            onClosed: function(){
                //Gridder Closed
            }
        });
    
    });
    </script>

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Comments
  • Expander appears at the wrong place

    Expander appears at the wrong place

    Hi,

    Sometimes expander appears at the bottom of the list instead of current place. This is happening with Chrome but not with Safari and Firefox.

    Here's the page : http://preview.littleboxes.fr/index.php?page=films

    2 ways to reproduce the bug :

    • click the loadmore button on the bottom of the list, then interact with a pic in the 1st row
    • reduce your window to get the mobile viewport then interact with the first pic (only after resizing, not if loading/refreshing when already at this size)

    The DIV is placed at the good place in the HTML code but Chrome choose to draw it after all the LI elements. That technique of using a DIV between 2 LI of a UL feels like an undocumented feature. Am I wrong ?

    opened by roxteddy 9
  • Trying to use cycle inside of grid entry

    Trying to use cycle inside of grid entry

    I'm trying to use the malsup cycle plugin dynamically inside each grid list entry. On clicking the pager items, there's a jump to the top of the page. Any ideas on how to overcome this? Is the preventDefault a conflict with the cycle plugin? Thank you for any help. Here's the test page:

    http://minnowproject.com/beta/

    opened by ashleycam3ron 6
  • Not visible on mobile

    Not visible on mobile

    A few issues here, when I preview the demo in Chrome Dev Tools, there is just white space where the grid should appear. What the issue could be is that you override the height of ".gridder-list .image" to auto which essentially removes all heights, if I remove the auto height it then shows the grid.

    Another issue is when the one grid element is expanded the content doesn't expand fully and overlaps any grid elements below. I added a min-height to the ".gridder-show" div so I could a least set a manual height, but in the real world, this will always vary.

    screen shot 2018-01-13 at 9 26 09 am

    Uploading Screen Shot 2018-01-13 at 9.22.10 AM.jpg…

    invalid 
    opened by mtsweir 5
  • Not responsive

    Not responsive

    The images only get smaller and smaller. I fixed this by changing the width of the images to 220px for big screens and 140px for small screens instead of a percentage. Furthermore I centerend everything.

    This is the part of the css file I changed: .gridder { margin: 0px; padding: 0px; list-style-type: none; text-align: center } .gridder-list { display: inline-block; vertical-align: top; width: 220px } @media screen and (max-width: 862px) { .gridder-list { width: 140px; } } .gridder-show { display: block; text-align: left; float: left; width: 100%; position: relative; background: #EEE url("../images/loading-spin.svg") no-repeat center }

    opened by mannte 5
  • Animate change the same as opening a new panel

    Animate change the same as opening a new panel

    A good option would be to animate the closing of the open panel before opening the new one. Is this possible to add myself or does it need an update? I am not a programmer. Also could the open panel be closed by clicking on the body of the page? Apart from these points, excellent code.

    Thanks

    wontfix 
    opened by joneslafuente 5
  • Woocommerce compatibility

    Woocommerce compatibility

    Hey dude,

    Thanks for this amazing plugin, I have used it within a few sites and has been a great bit of functionality to add in. I have added Gridder to a Woocommerce site but when I switch products, the page jumps up. After hours of trying, I can not seem to break it down and resolve the issue. Would you have any idea?

    http://www.steve-edgeshop.com/shop/

    Thanks, Matt

    opened by matt-edgedesign 5
  • I'm Green Please Forgive Me

    I'm Green Please Forgive Me

    I'm quite new to JS. I am in school for it right now so I'm still learning. I am trying to use the gridder for my portfolio site which is mostly HTML and CSS with just a few JS features. I'm trying to use it in my Portfolio section. It's set up in a 3 element wide grid. Each element in the list is 33.3333% wide and looks just how I want it.

    I have two main issues I cannot solve. First, when I click on the either of the left two list items in each row they cause the rest in the row to bump down to the next row. I cant figure out why.

    And the next problem is after the sixth list item there is a gap created as if there is a invisible 7th list item even though the 7th is in the place where the 8th should go.

    If any of this rambling makes sense and you can help that would be awesome.

    opened by GrantMossman 4
  • Add items via AJAX

    Add items via AJAX

    Hello! Thank you for gridder. There is one problem. If I add items via ajax, expanding do not work for this items. I think it's because gridder initialized only once and can not be changed. /* CLICK EVENT */ _this.find(".gridder-list").on("click", function (e) { e.preventDefault(); var myself = $(this); openExpander(myself); }); This code is not called for added via ajax items. Please help me. Sorry for my English, I write through google translate.

    bug 
    opened by antonovsky 3
  • Grinder seems to block cmd R refresh shortcut in Chrome (Mac)

    Grinder seems to block cmd R refresh shortcut in Chrome (Mac)

    I'm testing Gridder on a Wordpress theme I'm building for myself and it appears to block cmd R shortcut on Chrome. If I remove the script enqueue from my functions.php cmd R works again.

    I can refresh via the menus and other keybaord shortcuts work. It's such a bizarre issue.

    Any ideas?

    bug 
    opened by burni 3
  • Possible conflict

    Possible conflict

    Hi

    Using the callback function I have managed to integrate an accordion inside the gridder panel. Works very well. What I now want to be able do is use a jquery function that changes font attributes such as opentype features (kerning) etc. Inside gridder it isn't working but is if I place it outside.

    Is there anything I need to be doing re. callback. Does it need to be inside a callback function within the accordion which is in itself inside the gridder callback. Apologies but I am not a programmer but am helping out a colleague and this is pushing my knowledge rather a bit. At least I am learning something.

    Many thanks

    Brian

    question 
    opened by joneslafuente 3
  • Callback problem

    Callback problem

    I haven't been able to make Owl Carousel work in the expanded area. Please check the first thumbnail: http://themes.iki-bir.com/gridder/demo/demo.html Could you help me figure out what is missing? (Owl Carousel works outside of gridder but not inside.)

    opened by elemis 3
  • Multiple instances

    Multiple instances

    The readme says that it supports multiple instances. How should it be configured for multiple instances? I gave each instance a new gridder class (ie gridder1) and called the gridexpander to initialize each gridder instance based on the different class but that did not seem to work. Can you provide instructions on how to configure multiple instances.

    Thanks

    opened by thomasonk 2
  • Column breaks out

    Column breaks out

    When I click the first item, it shifts the others on the same row down below the expanded part and if I click the ones below the expanded section they move back up to the first row as I click them.

    Can you help me out, so it does not break out? Thank a lot

    enhancement 
    opened by anniemaisonneuve 3
  • Open item from a url on another page

    Open item from a url on another page

    I am trying to open one of the gridder items via a URL. So say URL is on homepage and the gridder gallery is on an internal page. How would I go about this?

    Thanks

    opened by Exlore 2
  • More Easing Options

    More Easing Options

    It would be very helpful to introduce more easing options, or enable integration with the Easing.js jQuery plugin. Having just one easing option seems a little bit silly and less customisable. Please add this in a newer version. But otherwise thanks for a wonderful plugin.

    opened by yCodeTech 0
  • npm package für gridder jquery plugin

    npm package für gridder jquery plugin

    Hi!

    Is it possible for you to create a npm package for the jquery gridder plugin? This would make life easier for people using package manager and would help with automatic license checks.

    opened by stefanesterer 0
  • Animations Not Working

    Animations Not Working

    I'm not sure why, but I can't seem to get the animations working at all. Instead, when I click on a preview item, the panel just pops in, with no sizing or scrolling animation at all. I even tried using the default HTML in your sample, but the same issue.

    $('.gridder').gridderExpander({ scrollOffset: 60, scrollTo: "panel", // panel or listitem animationSpeed: 400, animationEasing: "easeInOutExpo", showNav: true, // Show Navigation nextText: "a", // Next button text prevText: "a", // Previous button text closeText: "aa", // Close button text onStart: function() { //Gridder Inititialized console.log('On Gridder Initialized...'); }, onContent: function() { //Gridder Content Loaded console.log('On Gridder Expand...'); }, onClosed: function() { //Gridder Closed console.log('On Gridder Closed...'); } });

    I do have the script enqueued with jQuery (I'm using WordPress), and I did include the CSS. Any clues what I should check for? I didn't include bootstrap, do I need that?

    opened by jordan-webdev 2
Releases(v1.4)
A jquery plugin for comparing two images

jQuery Images Compare A jquery plugin for comparing two images Badges Features compatibility : ie9+ Effort to put appearance via css (easier to skin /

Sylvain Combes 49 Sep 5, 2022
Codecs lets you use read, write, edit, and analyze images.

Codecs Codecs lets you use read, write, edit, and analyze images. npm install @astropub/codecs Usage import * as fs from 'node:fs/promises' import * a

Astro Community 8 Oct 10, 2022
null 3.9k Dec 30, 2022
jQuery plugin that blows your visitors' retinas

Dense.js Homepage | Issues | Dense is a jQuery plugin for serving retina-ready, high pixel ratio images with ease. Small, ease-to-adapt, yet very cust

Jukka Svahn 212 Jun 30, 2022
jQuery plugin that makes an image erasable (with mouse or touch movements)

jQuery.eraser v0.5.2 a jQuery plugin that makes an image erasable (with mouse or touch movements) This plugin replaces the targeted image by an intera

boblemarin 327 Oct 27, 2022
jQuery plugin based on raphael.js that allows you to display dynamic vector maps

jQuery Mapael - Dynamic vector maps The complete documentation is available on Mapael website (repository: 'neveldo/mapael-documentation'). Additional

Vincent Brouté 1k Jan 5, 2023
Unite Gallery - Responsive jQuery Image and Video Gallery Plugin. Aim to be the best gallery on the web on it's kind. See demo here:

##Unite Gallery - Responsive jQuery Gallery Plugin Product Link: unitegallery.net This gallery has commercial versions for: WordPress , Joomla! , Pres

Max Valiano 531 Oct 24, 2022
⚠️ [Deprecated] No longer maintained, please use https://github.com/fengyuanchen/jquery-cropper

Cropper A simple jQuery image cropping plugin. As of v4.0.0, the core code of Cropper is replaced with Cropper.js. Demo Cropper.js - JavaScript image

Fengyuan Chen 7.8k Dec 27, 2022
Nivo Slider - The Most Awesome jQuery Image Slider

Maintainer's Wanted! - Ineterested in contributing regularly to Nivo Slider development? Get in touch Nivo Slider The Nivo Slider is world renowned as

Verti Studio 1.2k Dec 24, 2022
DEPRECATED jQuery Responsive Carousel.

YEAH SO THIS IS PRETTY MUCH DEAD, DO YOURSELF A FAVOR AND SWITCH TO tiny-slider Owl Carousel 2 Touch enabled jQuery plugin that lets you create a beau

null 7.7k Jan 4, 2023
⚠️ [Deprecated] No longer maintained, please use https://github.com/fengyuanchen/jquery-viewer

Viewer A simple jQuery image viewing plugin. As of v1.0.0, the core code of Viewer is replaced with Viewer.js. Demo Viewer.js - JavaScript image viewe

Fengyuan Chen 1k Dec 19, 2022
A light wight javascript image viewing plugin with smooth animation and 0 dependence

A light wight javascript image viewing plugin with smooth animation and 0 dependence

null 50 Nov 12, 2022
A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images.

jQuery GRIDDER 1.4.2 ======= A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images. We have all

Orion Gunning 455 Nov 6, 2022
A tutorial on how to create a thumbnail grid with an expanding image preview similar to the effect seen on Google Images.

Thumbnail Grid with Expanding Preview A tutorial on how to create a thumbnail grid with an expanding image preview similar to the effect seen on Googl

Codrops 353 Jan 4, 2023
tb-grid is a super simple and lightweight 12 column responsive grid system utilizing css grid.

tb-grid Lightweight (<1kb gzipped) 12 column grid system, built with css grid. ?? Demos & Playground Have a look at those examples: Main Demo: https:/

Taskbase 26 Dec 28, 2022
WhatsApp-last-seen - When was it last seen and how long it was online.

WhatsApp-last-seen When was it last seen and how long it was online. Copy the javascript code and paste in the browser console after opening an inbox

Breno Vambáster 6 Nov 8, 2022
⚡️The Fullstack React Framework — built on Next.js

The Fullstack React Framework "Zero-API" Data Layer — Built on Next.js — Inspired by Ruby on Rails Read the Documentation “Zero-API” data layer lets y

⚡️Blitz 12.5k Jan 4, 2023
A jQuery plugin that creates a paneled-style menu (like the type seen in the mobile versions of Facebook and Google, as well as in many native iPhone applications).

#jPanelMenu ###Version 1.4.1 jPanelMenu is a jQuery plugin for easily creating and managing off-canvas content. Check out the demo (and documentation)

Anthony Colangelo 927 Dec 14, 2022
A full image reveal effect with fancy thumbnail sliding.

Full Image Reveal Effect A full image reveal effect with fancy thumbnail sliding. Article on Codrops Demo Credits Images from Unsplash.com TweenMax by

Codrops 155 Dec 19, 2022