j查询同位素错误.停止在 Wordpress 中工作

jQuery Isotope error. Stopped working in Wordpress

本文关键字:Wordpress 工作 查询 同位素 错误      更新时间:2023-09-26

几周前,在我的wordpress网站上添加了一些同位素,并使其运行良好。 但是,在对站点进行一些更改后,我现在收到一条错误消息,并且真的很难弄清楚是什么原因造成的,因为相同的代码在 JSFiddle 中运行良好,例如。http://jsfiddle.net/ttf5776r/12/

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

TypeError: i.data(...) 未定义 ...)n[t]=s||"original-order"!==t?rt:i.data(this,"isotope-sort-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 修改。

谁能帮我排除故障?

代码如下:

函数.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' ); 

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

此时,您会在此处找到错误("键"变为"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() is undefined",因此变成了"$.data() is undefined"——这似乎表明.data()插件没有正确加载,或者(更有可能)传递给同位素的变量实际上不是 jQuery 库的句柄。检查如何加载和初始化同位素。