jQuery Isotope错误。停止在Wordpress中工作

时间:2015-01-08 16:58:42

标签: javascript jquery wordpress jquery-isotope

几个星期前,我的wordpress网站上添加了一些同位素,并且运行良好。但是,在对网站进行一些更改之后,我现在收到一条错误消息,并且我正在努力弄清楚导致它的原因,因为相同的代码在JSFiddle中正常工作,例如。 http://jsfiddle.net/ttf5776r/12/

我在网站上的错误控制台中收到的错误消息是:

  

TypeError:i.data(...)未定义   !...)n表示[T] = S || “原始顺序” ==吨RT:?i.data(这一点, “同位素排序数据”)[T]; i.da ...

我已经发现,如果我删除以下代码,错误消息就会停止显示并且同位素正常工作但由于已删除的代码而未将所选框放入左上角。

  $container
  .isotope( 'updateSortData', $this.parent() )  //this should be above the 'return false;' to make the selected photo go to top left corner but it decided to break and havem't had time to find fix. - LOL 08-01-2015
  .isotope( 'updateSortData', $previousSelected )
  .isotope();   

不幸的是,我不记得自从这项工作以来我所做的所有改变,但我很确定没有对JQuery进行修改。

任何人都可以帮我解决问题吗?

以下代码:

的functions.php

function add_isotope() {
    wp_register_script('isotope', 'http://isotope.metafizzy.co/v1/jquery.isotope.min.js', array('jquery'));
    wp_enqueue_script('isotope');
}

add_action( 'wp_enqueue_scripts', 'add_isotope' ); 

function add_jsscripts() {
    wp_register_script('jsscripts', get_template_directory_uri() . '/js/scripts.js', array('jquery'));
    wp_enqueue_script('jsscripts');
}

add_action( 'wp_enqueue_scripts', 'add_jsscripts' ); 

1 个答案:

答案 0 :(得分:0)

您的错误是指缩小的来源。第一步是切换到使用非缩小源,以便变量具有原始名称。

此时你会发现错误("键"变成" t"等等):

updateSortData : function( $atoms, isIncrementingElemCount ) {
  var instance = this,
      getSortData = this.options.getSortData,
      $this, sortData;
  $atoms.each(function(){
    $this = $(this);
    sortData = {};
    // get value for sort data based on fn( $elem ) passed in
    for ( var key in getSortData ) {
      if ( !isIncrementingElemCount && key === 'original-order' ) {
        // keep original order original
        sortData[ key ] = $.data( this, 'isotope-sort-data' )[ key ];
      } else {
        sortData[ key ] = getSortData[ key ]( $this, instance );
      }
    }
    // apply sort data to element
    $.data( this, 'isotope-sort-data', sortData );
  });
},

你得到的错误" i.data()未定义"因此变为" $。data()未定义" - 这似乎表明.data()插件没有正确加载,或者(更有可能)传递给isotope 的变量实际上并不是jQuery库的句柄。检查你如何加载和初始化同位素。