14

I have loaded in jQuery transit, and I made sure I did it after loading jQuery, but I still get this error:

I have looked at the resources panel in Chrome, and jQuery transit is being loaded after jQuery. It has also loaded correctly, and shows up with no problems.

I have also tested in the console, testing the examples on the website. They all return this same error.

here is my code:

  $("#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);
    });

And the scripts I bring in:

<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>

Thanks for any help.

4

2 回答 2

9

好吧,在这种情况下,事实证明这是 jQuery 的错。jQuery 1.8 是这里的罪魁祸首。加载 1.7.2 解决了这个问题。我会将这个错误报告给运输和 jQuery 团队。

于 2012-08-14T19:34:43.243 回答
9

更新(2013 年 4 月 13 日):我正在阅读 Transit 的源代码,克鲁兹先生似乎已经更新了代码以有效地使用 jQuery 1.8+。如果有人测试过它,请他们确认它有效。谢谢。


这与 jQuery 和 Transit 使用的 css 挂钩有关。在 1.7 版中,jQuery 没有用于转换的 css 钩子。所以 Transit 为我们实现了一个钩子。然而,jQuery 更新了自己,现在提供了用于转换的 css 钩子。这些现在相互冲突。然而,这不是一个错误,因为 jQuery 工作正常,因此不需要向 jQuery 报告。

您的选择是使用 1.7 版本的 jQuery 并等到 Transit 更新或编辑 Transit 代码,这只需大约一分钟。

要进行编辑,请从官方网站获取 Transit 的开发版本。然后转到第 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/

于 2012-11-14T20:36:30.943 回答