2

在上一个动画发生后,我正在尝试为一系列 div 设置动画。我试图将 .mouseenter 和 .mouseleave 调用到动画到不透明度的相同 div: 1. 第一个动画似乎取代了之后改变不透明度的任何尝试。我对任何编程都是全新的,我正在寻找这个问题的答案。我尝试了一些似乎与我的特定问题有关的解决方案,但总是出现语法错误。

代码如下。我已经注释掉了不透明度更改(.fadeTo)的无效第二次尝试,但这不是我尝试的唯一方法:

    $(document).ready(function(){
$('#work').click(function(){
    $('#portfolio').animate({'margin': '120px 0px 0px 890px','opacity':'1'}, 500);
    $('#sketchbook').animate({'margin': '120px 0px 0px 1045px', 'opacity':'1'}, 550);
    $('#art').animate({'margin': '120px 0px 0px 1200', 'opacity':'1'}, 600);

    $('#bio').animate({'margin': '120px 0px 0px 1045', 'opacity':'0'}, 600);
    $('#blog').animate({'margin': '120px 0px 0px 1045', 'opacity':'0'}, 550);
    $('#inspiration').animate({'margin': '120px 0px 0px 1045', 'opacity':'0'}, 500);
    $('#bottom_bar').animate({'margin-top':'700px', 'height': '15px'},1000);


    });

$('#about').click(function(){
    $('#bio').animate({'margin': '120px 0px 0px 890px','opacity':'1'}, 500);
    $('#blog').animate({'margin': '120px 0px 0px 1045px', 'opacity':'1'}, 550);
    $('#inspiration').animate({'margin': '120px 0px 0px 1200', 'opacity':'1'}, 600)

    $('#portfolio').animate({'margin': '120px 0px 0px 800px','opacity':'0'}, 300);
    $('#sketchbook').animate({'margin': '120px 0px 0px 810px', 'opacity':'0'}, 350);
    $('#art').animate({'margin': '120px 0px 0px 820', 'opacity':'0'}, 400);
    });

});

//FADE IN / FADE OUT

//$('#portfolio').mouseenter(function(){
    //$(this).fadeTo(.7, 'fast');
//});
4

1 回答 1

1

jQuery.animate 有一个“完成”回调,例如,您可以使用它。 http://api.jquery.com/animate/

或者使用可以使用延迟对象http://api.jquery.com/jQuery.Deferred,对于如此多的链接调用来说可能会更容易。检查这个小提琴: http: //jsfiddle.net/balintbako/8VAZ3/以获得简单的延迟代码。

<div id="box"></div>

#box {
    width: 200px;
    height: 200px;
    background-color: black;
}

$(document).ready(function () {    
    $('#box').animate({
       'width': '100'
       }, 200);
    $('#box').animate({
       'height': '100'
       }, 200);
    var def = $('#box').promise();
    def.done(
       function () {
          alert('done');
    });
});
于 2013-06-15T19:51:28.850 回答