If statement 如何写入-如果可见选择器?

If statement 如何写入-如果可见选择器?,if-statement,opacity,fadein,visible,If Statement,Opacity,Fadein,Visible,不知道该怎么写 如果.sub1可见,.homepage fadeTo.25 Sub1有一个FadeIn,如果Sub1打开,我希望主页不透明度降低到.25 我有这个 $("#cat").click(function(){ if ($('.sub1').is(':visible') ) { $(".homepage").fadeTo(500, .25);} else { $(".homepage").fadeTo(500, 1); } 我正在制作的实际网站>>点击分类会在子菜单中淡

不知道该怎么写

如果.sub1可见,.homepage fadeTo.25

Sub1有一个FadeIn,如果Sub1打开,我希望主页不透明度降低到.25

我有这个

 $("#cat").click(function(){
 if ($('.sub1').is(':visible') ) {
 $(".homepage").fadeTo(500, .25);}

 else {
 $(".homepage").fadeTo(500, 1);

 }

我正在制作的实际网站>>点击分类会在子菜单中淡出,使主页不透明度降低25%,再次点击分类,使子菜单淡出,使主页100%……但点击分类>时尚>男士时尚>智能,会显示“男士智能时尚div”,但再次点击分类会使男士智能时尚div淡出,并返回.sub1,但打开.sub1时,.homepage是100%,而不是25%

您可以过滤可见的.sub1并检查长度,如果有多个.sub1,这可能不是很好,可能会给选择器增加一点特殊性

此技术将过滤出第一个css可见性为:hidden或opacity:0的元素。sub1':eq0'。如果长度为0,则条件将返回false

if($('.sub1:eq(0):visible').length) {
    //.homepage fade to .25
}
修订:

$("#cat").click(function(){
    if ($('.sub1').css('opacity') == .25 ) {  

        $('.homepage').fadeTo(500, 1);

    } else {

        $('.homepage').fadeTo(500, .25); 
    }
});

我认为它不会消失的原因是因为你的情况是检查不透明性:0,你在消失到.25时从未达到过。您应该将条件设置为检查数字.25,以避免检查多个字符串,如“.25”或“0.25”。Firefox报告为“0.25”。

嘿,tellez,谢谢你回来,这不是关于.sub1 div的长度,这纯粹是因为.sub1 div是可见的,我希望主页下降到0.25,如果.sub1是隐藏的,那么我希望.sub1 div回到100%,我刚刚写了这个$cat.clickfunction{if$'.sub1'.is':可见“{$.homepage.fadeTo500.25;}其他{$.homepage.fadeTo500.1;}”;这似乎是部分工作,但并没有使主页回到100%Hi tellez,再次感谢您的输入,主页设置为100%的网站负载,但当点击cat时.sub1 div打开,这是我希望主页变为25%,更复杂的是,在.sub1中有产品,当点击这些按钮时,.homepage会淡出,产品页面也会淡出,但是如果我打开一个产品页面并再次点击cat,主页会再次设置为100%,这就是为什么我希望控制.homepage的不透明度,无论sub1菜单是可见的还是隐藏的。这应该满足您所寻找的第一部分。如果在加载页面后单击cat,则.hoempage将衰减到25%。第二部分让我有点困惑。在jquery网站上用firebug测试这一点时,它似乎会切换淡入淡出。我不确定firebug是什么,我是jquery的新手,所以这一切对我来说都是新的,基本上是当.sub1可见时,将主页淡入淡出25%,当.sub1隐藏时,将主页不透明度恢复到100%。sub1通过jquery隐藏,不是CSS这会有任何影响,它似乎对我不起作用,我使用的是Safari 5.1,主页不会恢复到100%