jQuery中简单的淡入淡出和可见性
我试图通过jQuery .fadeIn()
转换将div的css属性visibility
更改为visible
。
这是我的代码:
$('a').click(function() { $('#test').fadeIn('slow', function() { $(this).css('visibility','visible'); }); });
和小提琴: http : //jsfiddle.net/np6r7/
您无法为visibility
制作动画。 fadein
被关闭display:none;
,所以这应该是#test
的初始状态通过CSS。 如果需要保持布局,可以尝试在div中包装测试,指定所需的高度和/或宽度。
实际上,我喜欢davidaam的回答。 我会做一点修改:
$('#test').css('visibility','visible').hide().fadeIn("slow");
你也可以使用CSS不透明度与JQuery的fadeIn结合来实现同样的目的。
不要在CSS中使用可见性,而是使用opacity: 0;
然后使用jQuery FadeTo
将不透明度增加到100%:
$('#test').fadeTo('slow', 1);
这将保持定位,就像可见性一样,但是,重要的是要注意opacity: 0
响应诸如click和keypress之类的事件以及参与taborder。 另外,我还读到负责任地使用visibility: hidden
而不是display: none
对SEO更好,但我不确定这是如何适用于opacity: 0
。
JSFIDDLE : http : //jsfiddle.net/np6r7/15/