2010-01-28 68 views
0

我正在制作一个网站,当用户点击一个btn时,该网站的内容区域会淡出。 btn是一个简单的锚标签。我已经从其他S.O用户那里获得了一些帮助,并且几乎可以正常工作。我的问题是它不会淡出。这里是jQuery代码:jQuery fadeOut问题

$("#show-background").click(function() { 
if ($("#content-area").hasClass("bg_hidden")){ 
    $("#content-area") 
    .removeClass("bg_hidden") 
    .stop() 
    .fadeIn("slow"); 
    $(this).text("Show Background"); 
      } 
else{ 
    $("#content-area") 
    .addClass("bg_hidden") 
    .stop() 
    .fadeOut("slow"); 
    $(this).text("Show Text"); 
      } 
}); 

样品可以在这里找到我www.nicklansdell.com/sample/services.html不知道如果任何人能帮助吗?提前谢谢了。

回答

0

为什么不只是使用切换?

$("#show-background").click(function() { 
    $("#content-area").animate({opacity: 'toggle'}, 'slow'); 
}); 
+0

'fadeToggle'不在jquery API中。 – 2010-01-28 12:24:08

+0

我之所以被赋予这种方法,是为了分解它,所以我可以理解它是如何工作的,当然现在我做了:)当我尝试你的方法时,它根本不起作用。我想知道如果Jquery工具库与此代码有某种冲突吗? – mtwallet 2010-01-28 12:37:16

+0

我编辑动画,这是应该工作的核心库。 – RJD22 2010-01-28 12:38:58

0

尝试从addClass分别淡出:

$("#content-area").fadeOut("slow"); 

顺便说一句,你可以检查if,而不是阶级生存的按钮的文字...

+0

嗨我试过这样做,但它再次没有奏效。我的代码和我正在使用的jQuery工具库之间会有冲突吗? – mtwallet 2010-01-28 12:38:07

0

我做了一些尝试你与萤火虫页面,并不能拿出什么是打破fadeOut电话。

如果你需要一个解决方法,你可以这样做:

if ($("#content-area").hasClass("bg_hidden")){ 
    $("#content-area") 
    .removeClass("bg_hidden") 
    .stop() 
    .children().fadeIn("slow"); 
    $(this).text("Show Background"); 
}else{ 
    $("#content-area") 
    .addClass("bg_hidden") 
    .stop() 
    .children().fadeOut("slow"); 
    $(this).text("Show Text"); 
} 

淡入/淡出所有的孩子曾在页面上。

这是一个解决方法,而不是一个解决方案。

+0

谢谢你的Alex。当我尝试这个并预览它时,div#content-area从一开始就隐藏起来,而btn不起作用。任何想法我做错了什么? – mtwallet 2010-01-28 12:43:47