我在寻找JQuery的可见性参数方面遇到了一些麻烦。
基本上...下面的代码什么也没做。
$('ul.load_details').animate({
visibility: "visible"
},1000);
使用 animate 代码没有问题(我已将 visibility 替换为 fontSize 并且正常运行)。我只是无法找到与 CSS 中 "visibility" 相对应的正确参数名称。
我在寻找JQuery的可见性参数方面遇到了一些麻烦。
基本上...下面的代码什么也没做。
$('ul.load_details').animate({
visibility: "visible"
},1000);
使用 animate 代码没有问题(我已将 visibility 替换为 fontSize 并且正常运行)。我只是无法找到与 CSS 中 "visibility" 相对应的正确参数名称。
你可以将透明度设置为0.0(即“不可见”),可见性设置为visible(使透明度相关),然后将透明度从0.0动画到1.0(淡入):
$('ul.load_details').css({opacity: 0.0, visibility: "visible"}).animate({opacity: 1.0});
因为你将不透明度设置为0.0,即使设置为“visible”,它也是不可见的。通过不透明度动画,您可以实现淡入效果。$('ul.load_details').show();
$('ul.load_details').hide();
或者您想使用动画来显示/隐藏元素(当然这是没有意义的,因为它不会淡出):
$('ul.load_details').animate({opacity:"show"});
$('ul.load_details').animate({opacity:"hide"});
?
$('ul.load_details').animate({opacity:1});
$('ul.load_details').animate({opacity:0});
http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/
visibility
属性。它要么可见,要么不可见(即使是1%的透明度也被视为“可见”)。这就像半存在一样,没有意义。最好通过.fadeTo()等方法来动画化透明度。$(".pane .delete").click(function(){
$(this).parents(".pane").animate({ opacity: 'hide' }, "slow");
});
这是我成功的方法(基于@Alan的答案)
var foo = $('ul.load_details'); // or whatever
var duration = "slow"; // or whatever
if (foo.css('visibility') == 'visible') {
foo.css({ opacity: 1 }).animate({ opacity: 0 }, duration, function () {
foo.css({ visibility: "hidden" });
});
} else {
foo.css({ opacity: 0 }).animate({ opacity: 1 }, duration).css({ visibility: "visible" });
}
foo
元素可见时,通过animate
缓慢将不透明度变为零,然后在将foo
的可见性设置为隐藏之前等待完成。 否则,在动画过程中如果设置为隐藏,则淡出效果将不会发生,因为它立即隐藏。 var foo = $('ul.load_details'); // or whatever
var duration = "slow"; // or whatever
if (foo.css('visibility') == 'visible') {
foo.fadeTo(duration, 0, function () {
foo.css({ visibility: "hidden" });
});
} else {
foo.fadeTo(duration, 1).css({ visibility: "visible" });
}