我试图通过检查它打开/关闭的元素是否可见或不使用“:可见”选择器来切换链接控件的不透明度。我有以下标记:-
<div class='btns'></div>
<p class='text'>Hello world</p>
使用这个 jQuery:-
var text = $('.text');
text.hide();
var btn = $('<a>', {
'href': '#',
'text': 'click me',
'click': function(e){
e.preventDefault();
text.slideToggle();
var opacity = text.is(':visible').length ? 1 : .5;
$('.btns').animate({
'opacity': opacity
});
}
});
$('.btns').append(btn);
第一次单击链接时,链接正确地淡化为半不透明度,但随后单击时不透明度不会改变。您可以在jsFiddle上看到这一点。
为什么 ":visible" 选择器在进一步点击时会失败?有更好的方法吗?
如果这里已经回答了这个问题,我深表歉意,但我无法找到我的特定问题的答案。