我正在尝试显示div的某些部分,并在单击div时将其设置为100%。 如果它再次被点击,我想将它动画回div的初始高度。 这是我到目前为止所做的,但它不起作用。有人可以帮忙吗?
#mydiv {
height:150px;
width: 100%;
overflow:hidden;
}
<script type="text/javascript">
$(document).ready(function(){
$("#mydiv").click(function(){
$(this).animate({height: '100%'}, 300);
}, function() {
$(this).animate({height: '150px'}, 300);
});
});
</script>
答案 0 :(得分:1)
click()
不接受两个函数参数,之前有一个toggle()
函数执行了你需要它的方法,但现在它已经被弃用并从jQuery中删除了。
由于您的用例非常简单,我相信这样的事情就足够了:
$("#mydiv").click(function () {
var $this = $(this);
$this.animate({
height: $this.height() == 150 ? '100%' : 150
}, 300);
});
<强> Demo fiddle 强>
答案 1 :(得分:0)
这应该适合你。
jQuery:
$(document).ready(function() {
$("#mydiv").toggle(
function() {
$(this).animate({height: '100%'}, 300);
};
function() {
$(this).animate({height: 150}, 300);
});
});