use*_*980 14 javascript jquery css-transitions jquery-transit
我已经加载了jQuery传输,我确保在加载jQuery之后我做了,但我仍然得到这个错误:
我查看了Chrome中的资源面板,并在jQuery之后加载了jQuery传输.它也正确加载,并显示没有问题.
我还在控制台中进行了测试,测试了网站上的示例.他们都返回同样的错误.
这是我的代码:
$("#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);
});
Run Code Online (Sandbox Code Playgroud)
我带来的脚本:
<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>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
更新(2013年4月13日):我正在阅读Transit的源代码,看来Cruz先生已经更新了代码以便有效地使用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 });
}
};
Run Code Online (Sandbox Code Playgroud)
您可以在数百种可用压缩器中的一种缩小代码,例如http://jscompress.com/