我在按钮点击时使用jQuery来获得滑块效果。我的代码是:
$(document).ready(function() {
$("#mybutton").click(function () {
$("#slidemarginleft").hide("slide", { direction: "down" }, 1000);
});
});
当我点击按钮时,会发生JavaScript错误:
f.easing[e.animatedProperties[this.prop]] is not a function
答案 0 :(得分:13)
他提供的代码段直接来自jQuery UI documentation:
$("div").click(function () {
$(this).hide("slide", { direction: "down" }, 1000);
});
我刚收到此错误,问题是没有加载jQuery UI脚本(D'哦!)。缓动动画需要jQuery UI。
尝试添加此内容以查看它是否可以解决问题:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
答案 1 :(得分:3)
答案 2 :(得分:0)
我认为问题是你传递给hide方法的第二个参数。从Hide()的jQuery文档中可以看出:
持续时间确定动画运行时间的字符串或数字 easing一个字符串,指示用于转换的缓动函数 callback动画完成后调用的函数
你的第二个参数是一个javascript对象,而不是一个字符串。它试图找到一个名为{direction:“down”}的缓动函数而没有任何运气。 jQuery库中唯一的缓动实现是默认的,称为swing,以及一个以恒定速度进行的实现,称为线性。你也有一个看起来像持续时间作为第三个参数,它应该是第一个。
我也想知道你为什么要使用hide()方法来执行jQuery幻灯片而不是slideToggle()方法,或者根据需要使用slideDown()或slideUp()。
答案 3 :(得分:0)
假设你试图通过“向下滑动”动作来实现隐藏元素的效果,可以尝试这样的事情......
演示:http://jsfiddle.net/wdm954/Frumm/3/
$('#button').click(function() {
var h = $('#slide').height();
$('#slide').animate({ height: 0, marginTop: h+"px" }, 1000, function() {
$(this).hide();
});
});
答案 4 :(得分:0)
此错误也可能是由无效的效果值引起的。例如:$(this).hide("slid", {}, 1000);
有效效果值为:'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.
答案 5 :(得分:0)
我有类似的问题。 jquery-easing-1.3.pack.js
无法单独使用但是与jquery-easing-compatibility.1.2.pack.js
结合使用它的技巧=)
dl在这里: http://sliding1.googlecode.com/files/jquery-easing-compatibility.1.2.pack.js
答案 6 :(得分:0)
另一个原因可能是,如果有一个jquery插件包含自己的紧凑插件,可以有效地替换最新的缓动函数。
可以在所有js文件中搜索这个以找到这样的'罪犯':
Query.extend({easing:{
答案 7 :(得分:0)
使用以下链接替换您的代码,您的问题将得到解决
http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js