0

I am using jquery quicksand and i wanted to know how i could return to that page with the list presorted. I am not very knowledgable in javascript so any help would be greatly appreciated.

EDIT

found this solution for a similar filter http://savethefix.wordpress.com/2011/12/06/filterable-portfolio-with-jquery-with-external-link-support/

but cant see how to tie this in with quicksand

1 Answers1

2

figured it out if anyone is interested.

$(document).ready(function() {


// get the action filter option item on page load
var $filterType = $('#filterOptions li.active a').attr('class');

// get and assign the ourHolder element to the
// $holder varible for use later
var $holder = $('ul.ourHolder');

// clone all items within the pre-assigned $holder element
var $data = $holder.clone();

var $button = $('#filterOptions li');

var $all = $('ul.ourHolder li').data('type') === 'all';


if (window.location.hash) {
// reset the active class on all the buttons
$button.removeClass('active');

// assign the class of the clicked filter option
// element to our $filterType variable
var $filtered = window.location.hash.replace('#', '');

$('a[class=' + $filtered + ']').parent().addClass('active');

var $filteredData = $data.find('li[data-type~=' + $filtered + ']').show();

// call quicksand and assign transition parameters
$holder.quicksand($filteredData, {
    duration: 800,
    easing: 'easeInOutQuad'
});
}
// attempt to call Quicksand when a filter option
// item is clicked
// Main Filter
$('#filterOptions li a').on('click', function(e) {
// reset the active class on all the buttons
$button.removeClass('active');

// assign the class of the clicked filter option
// element to our $filterType variable
var $filterType = $(this).attr('class');
$(this).parent().addClass('active');

var $filterData = $data.find('li[data-type~=' + $filterType + ']').show();

// call quicksand and assign transition parameters
$holder.quicksand($filterData, {
    duration: 800,
    easing: 'easeInOutQuad'
});
});

//Main Containers
$('ul.ourHolder').on('click', 'li.all', function(e) {
// reset the active class on all the buttons
$button.removeClass('active');

// assign the class of the clicked filter option
// element to our $filterType variable
var $ba = $('#filterOptions li a');
var $filteringType = $(this).attr('id');
var $navFilter = $ba.attr('class');

var $filteringData = $data.find('li[data-type=' + $filteringType + ']').show();

// call quicksand and assign transition parameters
$holder.quicksand($filteringData, {
    duration: 800,
    easing: 'easeInOutQuad'
});
});
});
  • Hey there, i am trying to do the same thing. Can you give more information on how you setup the links and made use of this code? – Gerico Jul 07 '13 at 10:57