如何更改站点范围的jQuery slideUp / slideDown持续时间?

时间:2014-05-09 15:35:41

标签: javascript jquery

有没有办法在jQuery中调整默认的slideUp()和slideDown()持续时间?我有一个网站有一堆slideUp / slideDown调用,我想在网站范围内更改他们的持续时间。我能找到的唯一选择:

  • 正则表达式搜索并替换我的所有JS代码。可能,我可以插入一个变量以便稍后再次更改持续时间。但是如果有jQuery设置会更方便,特别是为了减少测试时间。
  • 编辑jQuery本身。出于维护原因,这不是一个可行的选择。

2 个答案:

答案 0 :(得分:1)

您可以像这样更改默认动画速度:

$.fx.speeds._default = 1000;

重要提示:我认为这会改变每个jQuery动画的默认速度,在这种情况下这可能不太理想。

答案 1 :(得分:1)

您可以覆盖它们,如:

$.prototype.slideDown = (function(slideDown){
    var defaultSpeed = 2000;
    return function(speed){
        slideDown.call( this, speed || defaultSpeed );
    };
})($.prototype.slideDown);

然后用滑动功能做同样的事情:

$.prototype.slideUp = (function(slideUp){
    var defaultSpeed = 2000;
    return function(speed){
        slideUp.call( this, speed || defaultSpeed );
    };
})($.prototype.slideUp);

然后打电话给它:

$('#whatever').slideUp();

只需确保在开始使用它们之前覆盖它们。