我想切换除法的高度。我尝试过在if/else语句中使用.animate。但它会反弹回来。我现在使用的代码将隐藏我的除法,而不是切换高度。它会在点击时触发。
$(document).ready(function() {
$("#content1").toggle(function(){
$(this).animate({height:'400px'});
}, function() {
$(this).animate({height:'200px'});
});
});我希望有人知道答案,因为我在google/stackoverflow上找不到答案。
发布于 2014-05-20 17:13:24
为什么不直接使用.animate()来设置div的高度,并在每次单击div时对更改进行动画处理!
像这样:
$( "div" ).click(function() {
if ( $(this).height() != 50)
$( this ).animate({ height: 50 }, 1000 );
else
$( this ).animate({ height: 100 }, 1000 );
});下面是一个完整的例子:http://jsfiddle.net/62jcH/3/
发布于 2014-05-20 17:24:20
您可以添加一个data-clicks属性,该属性将存储可用于选择正确动画的点击次数-偶数/奇数。
$(document).ready(function() {
$('#content1').data( 'clicks', 0 );
$("#content1").on( 'click', function() {
var clicks = +$( this ).data( 'clicks' );
if( clicks % 2 === 0 ) {
$(this).animate({height:'400px'});
} else {
$(this).animate({height:'200px'});
}
$( this ).data( 'clicks', clicks + 1 );
});
});或者,您可以用此代码编织出一个jQuery插件,并使用它来代替单击事件。
https://stackoverflow.com/questions/23755401
复制相似问题