" fadeTo"功能忽略了时间

时间:2014-04-02 14:23:22

标签: javascript jquery

我有一个div,我用两个div(命名为open和close)来设置它的位置。

当打开动画完成时,我希望“open”div淡出并不可见。当关闭动画完成时,渐渐变为可见。

但是淡入有问题。时间参数被忽略,当点击动作发生时它会出现。

这是我的代码和小提琴,可以清楚地看到代码的内容;

$('.open').on('click', function(){
    $('.menu').animate({"marginLeft":"-30px"},1000);
    $('.open').fadeTo(1000, 0);
    setTimeout(function () {
        $('.open').css({"display":"none"})}, 1000);
    });
$('.close').on('click', function(){
    $('.menu').animate({"marginLeft":"82%"},1000);
    $('.open').fadeTo(1000, 100);
    });

小提琴是http://jsfiddle.net/ctarimli/B9h2w/

我知道;第一个参数是时间,第二个是“fadeTo”中的不透明度。 告诉我如果我错了或者解决方案是什么?

1 个答案:

答案 0 :(得分:4)

不透明度从0到1,而不是0到100.使用:

$('.close').on('click', function () {
    $('.menu').animate({
        "marginLeft": "82%"
    }, 1000);
    $('.open').fadeTo(1000, 1);
});

<强> jsFiddle example

来自docs on .fadeTo()

  

opacity类型:Number 0到1之间的数字,表示目标   不透明度。