0

我正在 Shopify 平台之上构建一个站点,并且在一个页面上发生了 javascript 冲突。我不知道如何找出导致冲突的确切原因 - 任何有关我如何找到此问题的信息将不胜感激!

这是要点:

是我用作测试页面的页面。除非我将scripts.js静音,否则同位素脚本过滤器上的单击功能不会执行任何操作。

这是来自有问题的html文件:

  <!-- conflict!
  << path to 'scripts.js' >>
  -->

  <!-- Begin Isotope -->
  << path to 'jquery.isotope.min.js' >>

  <script>
    $(window).load(function(){

      var $container = $('#isocontainer'),
          $filterLinks = $('#isofilters a');

      $container.isotope({
        itemSelector: '.item',
        filter: '*'
      });

      $filterLinks.click(function(){
        var $this = $(this);

        // don't proceed if already selected
        if ( $this.hasClass('selected') ) {
          return;
        }

        $filterLinks.filter('.selected').removeClass('selected');
        $this.addClass('selected');

        // get selector from data-filter attribute
        selector = $this.data('filter');

        $container.isotope({
          filter: selector
        });
      });
    });
  </script>
  <!-- End Isotope --> 

我会很高兴有任何关于如何找出具体冲突的提示。如果我需要提供更多/不同的信息,请告诉我。

谢谢,亚历克斯

4

2 回答 2

0

我不能完全理解你的问题。我认为您的 jquery 脚本与其他库冲突。如果这是问题,请检查以下脚本

var hack = $.noConflict();

在使用 $ 的脚本的每个部分都使用 hack 而不是 $ 。

问候

于 2013-06-24T19:07:27.320 回答
0

你是先加载 JQuery 吗?

我的猜测是在 Scripts.Js 文件中使用 $ 运算符存在问题。是否有理由使用 Jquery(window)....over $(window)?与 Jquery(document).ready(..over $(document).ready(....?

您应该能够只使用 $ 而不是 JQuery。

于 2013-06-24T19:02:10.720 回答