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 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
A motion hover effect for a background grid of images.

Image Grid Motion Effect A motion hover effect for a background grid of images. Article on Codrops Demo Installation Install dependencies: npm install

Codrops 118 Dec 31, 2022
Background image segment effect as seen on [Filippo Bello's Portfolio](http://www.filippobello.com/portfolio).

Segment Effect Background image segment effect as seen on Filippo Bello's Portfolio. Article on Codrops Demo License Integrate or build upon it for fr

Codrops 526 Nov 29, 2022
Recreation of the background scale hover effect seen on the DDD Hotel website using CSS clip paths.

Background Scale Hover Effect Recreation of the background scale hover effect seen on the DDD Hotel menu using CSS clip paths. Article on Codrops Demo

Codrops 98 Dec 6, 2022
A subtle tilt effect for images. The idea is to move and rotate semi-transparent copies with the same background image in order to create a subtle motion or depth effect.

Image Tilt Effect A subtle tilt effect for images. The idea is to move and rotate semi-transparent copies with the same background image in order to c

Codrops 571 Nov 21, 2022
Liquideffect - Javascript Library for creating liquid effect on image and RGB effect on mouse direction.

LiquidEffect Javascript Library for creating liquid effect on image and RGB effect on mouse direction. Demo https://liquideffect.netlify.app/ Dependen

Rohail 8 May 6, 2022
Javascript library enabling magnifying glass effect on an images

Magnifier.js Javascript library enabling magnifying glass effect on an images. Demo and documentation Features: Zoom in / out functionality using mous

Mark Rolich 808 Dec 18, 2022
Animated haze distortion effect for images and text, with WebGL.

Animated Heat Distortion Effects with WebGL A tutorial on how to use fragment shaders in WebGL to create an animated heat haze distortion effect on im

Lucas Bebber 289 Nov 1, 2022
Add a retro/vintage effect to images using the HTML5 canvas element

vintageJS Add a retro/vintage effect to images using the HTML5 canvas element. Installation $ npm install vintagejs How to use vintagejs is a functio

Robert Fleischmann 829 Dec 25, 2022
Warp drive is a lightweight jQuery plugin that helps you create a cool, interactive, configurable, HTML5 canvas based warp drive/starfield effect.

Warp drive jQuery plugin (jquery-warpdrive-plugin) Preview Description Warp drive is a lightweight jQuery plugin that helps you create a cool, interac

Niklas 51 Nov 15, 2022
Simple jQuery plugin for 3d Hover effect

jQuery Hover3d jQuery Hover3d is a simple hover script for creating 3d hover effect. It was my experiment on exploring CSS3 3d transform back in 2015

Rian Ariona 333 Jan 4, 2023
Create a beautiful 3D tilted effect on scroll with jQuery Tilted Page Scroll plugin

#Tilted Page Scroll by Pete R. Create a beautilful 3D tilted scrolling effect for your website with jQuery Tilted Page Scroll. Created by Pete R., Fou

Pete R. 321 Sep 18, 2022
fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulate the page preloading effect.

What is fakeLoader.js fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulat

João Pereira 721 Dec 6, 2022
🦎 A jQuery plugin for extracting the dominant color from images and applying the color to their parent.

jquery.adaptive-backgrounds.js A simple jQuery plugin to extract the dominant color of an image and apply it to the background of its parent element.

Brian Gonzalez 6.6k Dec 21, 2022
A simple yet powerful native javascript plugin for a cool typewriter effect.

TypewriterJS v2 NPM Repository JSFiddle Example Emoji Example CDN You can use the CDN version of this plugin for fast and easy setup. <script src="htt

Tameem Safi 1.8k Jan 4, 2023
Add a water ripple effect to your background using WebGL.

jQuery Ripples Plugin By the powers of WebGL, add a layer of water to your HTML elements which will ripple by cursor interaction! Important: this plug

Pim Schreurs 976 Dec 30, 2022
A decorative website background effect where SVG shapes morph and transform on scroll.

Morphing Background Shapes A decorative website background effect where SVG shapes morph and transform on scroll. Article on Codrops Demo This demo is

Codrops 351 Dec 26, 2022
Switch the background-image with using effect.

jQuery.BgSwitcher Switch the background image with using effect. Demo http://rewish.github.io/jquery-bgswitcher/ Usage <div class="box"> <p>Lorem ip

rewish 195 Dec 30, 2022
fixed-background-effect

Fixed Background Effect A simple template that takes advantage of the background-attachment CSS property to create a fixed background effect. Article

CodyHouse 50 Oct 28, 2022