Jquery滑块效果

时间:2011-05-14 04:26:08

标签: jquery

我在按钮点击时使用jQuery来获得滑块效果。我的代码是:

$(document).ready(function() {

  $("#mybutton").click(function () { 
      $("#slidemarginleft").hide("slide", { direction: "down" }, 1000);
});
});

当我点击按钮时,会发生JavaScript错误:

f.easing[e.animatedProperties[this.prop]] is not a function

8 个答案:

答案 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)

试用此版本的jquery.easing

http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js

它解决了我的问题。

答案 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'.

See here

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