3

I have running to the exception of "Uncaught TypeError: Object # has no method 'quicksand'", and I can't seem to find where the error is coming from. I am very new to jQuery and Java Script, and not sure what is wrong.

I am trying the implement the example here: http://www.evoluted.net/thinktank/web-development/jquery-quicksand-tutorial-filtering

I took that code, and I ran the the index file, and I can see it working fine, so I just copied the list over and took his main.js content and combine with the one I already have to get this function:

$(document).ready(function () { 
$("#myController").jFlow({ controller: ".jFlowControl", slideWrapper: "#jFlowSlider", slides: "#mySlides", selectedWrapper: "jFlowSelected", width: "960px", height: "350px", duration: 400, prev: ".jFlowPrev", next: ".jFlowNext", auto: true }); 
$().UItoTop({ easingType: 'easeOutQuart' }); jQuery("a[data-gal^='prettyPhoto']").prettyPhoto({ social_tools: false });
 // 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 $dataholder = $('ul.ourHolder');

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

  // attempt to call Quicksand when a filter option
    // item is clicked
    $('#filterOptions li a').click(function(e) {
        // reset the active class on all the buttons
        $('#filterOptions li').removeClass('active');

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

        if ($filterType == 'all') {
            // assign all li items to the $filteredData var when
            // the 'All' filter option is clicked
            var $filteredData = $data.find('li');
        } 
        else {
            // find all li elements that have our required $filterType
            // values for the data-type element
            var $filteredData = $data.find('li[data-type=' + $filterType + ']');
        }

        // call quicksand and assign transition parameters
        $dataholder.quicksand($filteredData, {
            duration: 800,
            easing: 'easeInOutQuad',
            attribute: "data-id",
        });
        return false;
    });
    }
);

" But I get an error at : "$dataholder.quicksand($filteredData,duration: 800,easing: 'easeInOutQuad'}); "

Any idea what needs to be done?


Including a 2nd copy of jQuery results in the previous copy and all of it's plugins being overridden. Removing one of them fixes the problem.

4

1 回答 1

4

包含 jQuery 的第二个副本会导致前一个副本和它的所有插件被覆盖。删除其中一个可以解决问题。

于 2012-04-26T19:08:00.707 回答