在代码学院的 jQuery 类(class)结束时,我正在开发我的“自己的项目”,但我现在陷入困境。
这是我的 js/jQ 代码:
$(document).ready(function () {
$('.Left1').click(function () {
$('.content1').slideToggle('slow');
});
$('.PilLine1').mouseenter(function () {
$(this).fadeTo(500, 1);
});
$('.PileLine1').mouseleave(function () {
if ($('.content1').show('false')) {
$('.PileLine1').fadeTo(500, 0.3);
}
else$('.PileLine1').fadeTo(500, 1);
});
});
这是视觉预览: http://www.codecademy.com/users/5155e412f38e624ec7000116/projects/500c7558d143430002002551
好吧,好吧,它并没有按照我想要的方式进行。我希望我的 if/else 语句检查如果我的框(content1)是否可见。 如果它是可见的并且鼠标离开;我希望我的 PilLine1 保持 100% 的不透明度。 if else mouseleave并关闭;我希望我的 PilLine1 淡出至 30% 的不透明度。
我应该使用: if($('.content1').show('false'))
或 if($('.content1' ).css('显示'==='无'))
还是我完全迷失了?
最佳答案
jQuery 的 .is()
wlil 根据选择器、元素或 jQuery 对象检查当前匹配的元素集,如果这些元素中至少有一个与给定参数匹配,则返回 true。
if($('.content1').is(':visible'))
:visible:
方法将检查 display: none
,如果没有 display:none
,则返回 true。
但是,当利用不透明度或可见性时,这可能会出现问题
可见性:隐藏或不透明度:0的元素被视为可见,因为它们仍然占用布局中的空间。在隐藏元素的动画期间,该元素被认为是可见的,直到动画结束。在显示元素的动画期间,该元素被认为在动画开始时可见。
关于javascript - 有任何想法吗?鼠标进入/鼠标离开(我被卡住了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16286886/