jQu*_*ast 52 javascript css jquery animation visibility
我有几个div放在彼此之下,我正在使用css可见性来淡入淡出它们.我使用可见性的原因是div不会移动到位.
对于淡入我正在使用:
$('.drop1').css({opacity: 0.0, visibility: "visible"}).animate({opacity: 1.0});
Run Code Online (Sandbox Code Playgroud)
为了淡出,我正在使用:
$('.drop1').css({opacity: 0.0, visibility: "hidden"}).animate({opacity: 1.0})}, 200);
Run Code Online (Sandbox Code Playgroud)
该淡入工作,但淡出不起作用.
现在,您可能认为问题是最后一个' ,200 '但我需要将其用作延迟,因为fadeout/visibility:hidden是在200ms之后的mouseleave事件.
所以我的问题是:如何通过动画隐藏可见性来充当fadeOut.
非常感谢
San*_*der 59
为什么要这么难,而不是动画css,你可以使用默认的淡入淡出功能
$('.drop1').fadeIn(200);
$('.drop1').fadeOut(200);
Run Code Online (Sandbox Code Playgroud)
编辑
如果你想在不失高度的情况下淡出它.你可以使用fadeTo(持续时间,不透明度,[回调]);
$('.drop1').fadeTo(200, 0);
Run Code Online (Sandbox Code Playgroud)
查看此示例:http: //jsfiddle.net/ufLwy/1/
我遇到了类似的问题,这就是我最终要做的事情.
$.fadeToHidden = function ( selector, duration, complete ) {
$.when(
$( selector ).fadeTo( duration, 0 )
).done( function(){
$( selector ).css('visibility', 'hidden')
complete();
});
}
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是
编辑或者,一旦各自的动画完成,您可以对每个单独的元素应用"visibility:hidden".选择较大的元素组可能会稍微快一点,因为您只需要查询一次元素组的DOM.
$.fadeToHidden = function ( selector, duration, complete ) {
$.when(
$( selector ).fadeTo( duration, 0 , function(){
$(this).css('visibility', 'hidden');
} )
).done( complete );
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我有一个类似的问题,我这样解决了:
淡入:
$("#id").css({visibility:"visible", opacity: 0.0}).animate({opacity: 1.0},200);
Run Code Online (Sandbox Code Playgroud)
淡出:
$("#id").animate({opacity: 0.0}, 200, function(){
$("#"+txtid).css("visibility","hidden");
});
Run Code Online (Sandbox Code Playgroud)
如您所见,动画结束后,我将隐藏div“ #id”。我希望不晚
归档时间: |
|
查看次数: |
79812 次 |
最近记录: |