0

私には理解できないこの奇妙なバグがあるので、助けを求めています。Zurb Foundation を使用して Magento ストアを構築しています。画像については、交換スクリプトを使用することにしましたが、想定どおりに機能しません。何らかの理由で、イメージを切り替える代わりに、dom からイメージ タグを完全に削除します。最初は、prototype/jquery/foundation の競合かと思いましたが、そうではないようです。

これはバグのあるページへのリンクです - http://www.dressaccent.com/magento/jovani-4247-vechernee-plat-e-27356、そこに画像を見ることができますが、jquery/foundationが起動するとすぐにそれは消えます。

4

2 に答える 2

3

私もこの問題を抱えていました。解決策をありがとう@richkrirk。Foundation 5.3.x の修正の更新版を投稿したいと思います。

      if (/IMG/.test(el[0].nodeName)) {
        var orig_path = el[0].src;

        if (new RegExp(path, 'i').test(orig_path)) return;

        el[0].src = path;

        //return trigger(el[0].src);
        return;
      }
      var last_path = el.data(this.data_attr + '-last-path'),
          self = this;

      if (last_path == path) return;

      if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) {
        $(el).css('background-image', 'url('+path+')');
        el.data('interchange-last-path', path);
        //return trigger(path);
        return;
      }

      return $.get(path, function (response) {
        el.html(response);
        el.data(self.data_attr + '-last-path', path);
        //trigger();
      });

基本的に、すべての trigger() 呼び出しにコメントを追加します。ただし、return ステートメントを保持する必要があります。そうしないと、IMG タグに background-image スタイルが設定されます。

于 2014-07-22T22:03:32.103 に答える
1

MagentoでFoundation 5を実装するのと同じ問題がありました。Interchange はコンテンツをロードしますが、div または画像コンテナー自体は DOM から消えます。

foundation.interchange.js の 65 行目のトリガーをコメントアウトすることで、なんとか機能させることができました。

        el.data('interchange-last-path', path);
        //trigger();
      });

その後、正常に動作します。これは最善の解決策ではないと確信していますが、私にとってはうまくいきました。

編集:IMGでも機能させるには、次のようにトリガーをコメントアウトする必要もあります:

if (/IMG/.test(el[0].nodeName)) {
        var orig_path = el[0].src;

        if (new RegExp(path, 'i').test(orig_path)) return;

        el[0].src = path;

        //return trigger(el[0].src);
      }
      var last_path = el.data('interchange-last-path');

      if (last_path == path) return;

      return $.get(path, function (response) {
        el.html(response);
        el.data('interchange-last-path', path);
        //trigger();
      });
于 2013-12-24T11:31:06.210 に答える