14

jQueryトランジットをロードしました。jQueryをロードした後にロードしたことを確認しましたが、それでも次のエラーが発生します。

Chromeのリソースパネルを見ましたが、jQueryトランジットはjQueryの後に読み込まれています。また、正しく読み込まれ、問題なく表示されます。

また、コンソールでテストし、Webサイトの例をテストしました。それらはすべてこれと同じエラーを返します。

これが私のコードです:

  $("#current-employers a.industry-company-link").click(function (e)
    {
        e.preventDefault();
        var url = $(this).attr("href");
        var company_container = $("#current-company-profile");
        company_container.load(url);
        company_container.transition({
            y: ($(this).offset().top - company_container.offset().top)
        });
        console.log("container offset: " + company_container.offset().top + "\nURL offset: " + $(this).offset().top);
    });

そして、私が持ち込んだスクリプト:

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js"></script>

        <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.transit/0.1.3/jquery.transit.min.js"></script>

助けてくれてありがとう。

4

2 に答える 2

9

さて、この場合はjQueryのせいであることがわかりました。ここではjQuery1.8が原因でした。1.7.2でロードすると、問題が修正されました。このバグをトランジットおよびjQueryチームに報告します。

于 2012-08-14T19:34:43.243 に答える
9

更新(2013年4月13日):Transitのソースコードを読んでいたところ、Cruz氏がjQuery1.8以降で効果的に機能するようにコードを更新したようです。誰かがそれをテストした場合、彼らはそれが機能することを確認してください。ありがとう。


これは、jQueryとTransitが使用するcssフックに関連しています。バージョン1.7では、jQueryには変換用のcssフックがありませんでした。そこで、トランジットは私たちのためにフックを実装しました。ただし、jQueryはそれ自体を更新し、変換用のcssフックを提供するようになりました。これらは現在、互いに競合しています。ただし、jQueryは正常に機能しているため、バグではありません。そのため、jQueryに報告する必要はありません。

選択は、1.7バージョンのjQueryを使用して、トランジットが更新されるまで待つか、トランジットコードを編集することです。これには約1分しかかかりません。

編集するには、公式サイトからトランジットの開発バージョンを入手してください。次に、603行目に$.cssHooks[prop]と表示されています。メソッドを削除し、代わりにこのメソッドを配置します。

$.cssHooks[prop] = {
  get: function(elem) {
    var t = $(elem).css('transform');

    if (!t || t === "none") {
      t = new Transform();
    }
    return t.get(prop);
  },

  set: function(elem, value) {
    var t = $(elem).css('transform');

    if (!t || t === "none") {
      t = new Transform();
    }

    t.setFromString(prop, value);

    $(elem).css({ transform: t });
  }
};

http://jscompress.com/など、利用可能な数百のコンプレッサーの1つでコードを縮小できます。

于 2012-11-14T20:36:30.943 に答える