同位素过滤器无法使用无限滚动插件

时间:2012-11-14 05:38:05

标签: jquery-isotope jquery-1.7

我在相同的页面中使用带有无限滚动插件的同位素过滤器,因此这里两者都不能完美地工作,一些设计问题反映了同位素jQuery文件。当我在滚动中单击更多按钮时,它会更好地发布,但未正确放置。它落后于旧职位。我现在还无法找到解决方案。如果有任何人有同样的问题,并发现任何想法,请随时回答我的问题。

这是我的同位素过滤器的jQuery函数

$(function(){

    // Orginal function by Alien51
    var $container = $('#container');
    $container.isotope({
    masonry: {
      columnWidth: 80
    },
    sortBy: 'number',
    getSortData: {
      number: function( $elem ) {
        var number = $elem.hasClass('element') ? 
          $elem.find('.number').text() :
          $elem.attr('data-number');
        return parseInt( number, 10 );
      },
      alphabetical: function( $elem ) {
        var name = $elem.find('.name'),
            itemText = name.length ? name : $elem;
        return itemText.text();
      }
    }
  });
        var $optionSets = $('#options .option-set'),
      $optionLinks = $optionSets.find('a');

  $optionLinks.click(function(){
    var $this = $(this);
    // don't proceed if already selected
    if ( $this.hasClass('selected') ) {
      return false;
    }
    var $optionSet = $this.parents('.option-set');
    $optionSet.find('.selected').removeClass('selected');
    $this.addClass('selected');
    // make option object dynamically, i.e. { filter: '.my-filter-class' }
   var myArray = [];
    var options = {},
        key = $optionSet.attr('data-option-key'),
        value = $this.attr('data-option-value');

            if($('#arrays').val()=="")
                comm = "";
            else
                comm =  ',';

            myArray = $('#arrays').val()+comm+'.'+value;
            alert(myArray);
            //myArray = substring(1, myArray.length);

            if(value!='Show All')
                $('#arrays').val(myArray);
            else
                $('#arrays').val('Show All');

        if(value=='Show All')
            value = '*';
        else
            value = $('#arrays').val();
    // parse 'false' as false boolean
    value = value === 'false' ? false : value;
    options[ key ] = value;
    //alert(key);
    if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) {
      // changes in layout modes need extra logic
      changeLayoutMode( $this, options )
    } else {
      // otherwise, apply new options
      $container.isotope( options );
    }
          return false;
  });
    // dynamically load sites using Isotope from Zootool
    //var ajaxError='';
    //alert(ajaxError);
  $.getJSON('http://zootool.com/api/users/items/?username=desandro' +
      '&apikey=8b604e5d4841c2cd976241dd90d319d7' +
      '&tag=bestofisotope&callback=?')
      .error( ajaxError )
      .success(function( data )
      {
      // proceed only if we have data
      if ( !data || !data.length ) {
        ajaxError();
        return;
      }
      var items = [],
          item, datum;

      for ( var i=0, len = data.length; i < len; i++ ) {
        datum = data[i];
        item = '<li><a href="' + datum.url + '">'
          + '<img src="' + datum.image.replace('/l.', '/m.') + '" />'
          + '<b>' + datum.title + '</b>'
          + '</a></li>';
        items.push( item );
      }
            var $items = $( items.join('') )
        .addClass('example');
                // set random number for each item
      $items.each(function(){
        $(this).attr('data-number', ~~( Math.random() * 100 + 15 ));
      });
            $items.imagesLoaded(function(){
        $sitesTitle.removeClass('loading').text('Sites using Isotope');
        $container.append( $items );
        $items.each(function(){
          var $this = $(this),
              itemHeight = Math.ceil( $this.height() / 20 ) * 120 - 10;
          $this.height( itemHeight );
        });
        $container.isotope( 'insert', $items );
      });
          });
    });

    $("#infscr-loading a").click( function(){
        alert('njasd');
        var h = $("#container").height();
        //alert(h);
        $("#container").css("min-height",h);
        $("#container").addClass("aft_fst");
    });

提前感谢您的帮助。

0 个答案:

没有答案