2011-05-30 131 views
0

任何人都可以帮助我解决这个问题,我错过了什么?简单的jQuery动画不工作

<script type="text/javascript"> 

    $('#loginButton').click(function() { 
    $('#toplogin').animate({ 
     height: '0px' 
    }); 
    }); 
</script> 

onClick甚至不执行!

我想onClick事件工作,对DIV是在这里:

<div id="loginButton"><a href="#" title="login">Login &raquo;</a></div> 

我希望动画影响的div是在这里:

div id="toplogin"> <!-- more stuff --> </div> 
+0

你并不需要,经过分号物体内部的高度线。否则看起来没问题,你确定'.click()'被解雇吗?你肯定有这些ID的元素?有CSS导致问题? – Orbling 2011-05-30 05:00:22

回答

0

试试这个:

$('#loginButton').click(function() { 
    $('#toplogin').animate({ 
     height: 0 
    }, 
    function() { 
     $(this).css('display', 'none'); 
    }); 
}); 
+0

@ user775736我测试过,代码不工作。这可能工作。我也使用css将'height:0px'设置为'div',并且它不隐藏内容。为什么这我不知道。如果有人有任何建议,请分享。 – thecodeparadox 2011-05-30 05:22:35

3

height: '0px'后删除分号,使您的JavaScript有效。

<script type="text/javascript"> 
    $('#loginButton').click(function() { 
    $('#toplogin').animate({ height:'0px' }); 
    }); 
</script> 

但是,除非你有#toploginoverflow:hidden集的元素将仍然是可见的,即使它的高度0px。更简单的方法是使用slideUp()

<script type="text/javascript"> 
    $('#loginButton').click(function(){ $('#toplogin').slideUp(); }); 
</script> 
+0

nope,没有工作 – user775736 2011-05-30 05:02:07

+0

这应该工作......它不工作,只有从css你隐藏的元素。 – 2011-05-30 05:13:14

+0

@ user775736:添加额外的信息来回答它似乎不起作用的原因。 – Marcel 2011-05-30 05:56:53

0

你应该换在下面的结构,使之有效,jQuery代码代码:

$(document).ready(function(){ 
    your code; 
})