2010-01-16 54 views
0

我有一个隐藏的,被宣告这样一个div:制作DIV出现与jQuery

<div id="divLogin" style="visibility:hidden;"> 

我的想法是使用jQuery使它在

滑动,所以我创造了这个代码:

$("btEnviarAcesso").click(function() 
{ 
    $("divLogin").slideToggle("slow"); 
}); 

但它不工作...有人有任何ideia为什么?

回答

10

您正在使用visibility:hidden隐藏div,但jQuery显示功能不调整visibility。我建议这样做:

<div id="divLogin" style="display: none"> 

然后你的代码改成这样:

$("#btEnviarAcesso").click(function() { 
    $("#divLogin").slideToggle("slow"); 
}); 

这是假设与btEnviarAcesso的ID,可以采取click事件的元素。

编辑:确保你把代码document.ready函数内部:

$(document).ready(function(){ // Or $(function(){ ... 
    $("#btEnviarAcesso").click(function() { 
     $("#divLogin").slideToggle("slow"); 
    }); 
}); 

你可以看到这个解决方案this demo工作。

编辑2

替换此:

<script src="jquery-1.3.2.min.js"/> 
<script language="javascript"> 

有了这个:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
+1

这可能是问题,而不仅仅是j他忘了使用id选择器。 +1! – 2010-01-16 17:08:18

+0

这是一个excelente方法,但仍然不起作用:S – Killercode 2010-01-16 17:18:03

+0

@Killercode我更新了我的答案并添加了一个演示。查看演示源代码:http://jsbin.com/oloxo/edit查看代码可能与我的不同之处。点击“输出”来测试我的代码如何工作。这有帮助吗? – 2010-01-16 17:24:58

1

你需要一个井号(#)通过其id属性,它使用id selector识别的东西。试试这个:

$("#btEnviarAcesso")... 

和:

... { $("#divLogin").slideToggle("slow"); }); 

此外,jQuery的显示/隐藏功能不影响visibility属性。相反,请使用"display: none"作为元素的样式。

+0

仍然无法正常工作... :( – Killercode 2010-01-16 17:03:06

+0

而到了一个文档链接:http ://api.jquery.com/id-selector/。简而言之,jQuery中的选择器看起来很像css选择器。 – istruble 2010-01-16 17:06:14

0

,如果你在你的HTML中使用的ID,使用#查询名称:

$("#btEnviarAcesso").click(function() { $("#divLogin").slideToggle("slow"); }); 
0

你的选择是没有好,btEnviarAcesso不是元素。如果它是id.btEnviarAcesso如果它是一个类,则它可能需要为#btEnviarAcesso