1.display 没有动画效果,生硬
html
<div style='border:1px solid #ddd'>
<p class='diji' onClick='loadMore(event)'>展开</p>
<div class='content' style='display:none'>
<p>显示内容1</p>
<p>显示内容2</p>
<p>显示内容3</p>
</div>
</div>
js
function loadMore(event){
if(event.target.innerText=='展开'){
$('.content'). css('display','block');
event.target.innerText='收起');
}else{
$('.content'). css('display','none');
event.target.innerText='展开');
}
}
2.slideUp和slideDown
html
<div style='border:1px solid #ddd'>
<p class='diji' onClick='loadMore(event)'>展开</p>
<div class='content' style='display:none'>
<p>显示内容1</p>
<p>显示内容2</p>
<p>显示内容3</p>
</div>
</div>
js
function loadMore(event){
if(event.target.innerText=='展开'){
$('.content'). slideDown();
event.target.innerText='收起');
}else{
$('.content'). slideUp();
event.target.innerText='展开');
}
}
3.max-height+overflow:hidden+transition
html
<div style='border:1px solid #ddd'>
<p class='diji' onClick='loadMore(event)'>展开</p>
<div class='content' style='max-height:0;overflow:hidden;transition:max-width 1s;'>
<p>显示内容1</p>
<p>显示内容2</p>
<p>显示内容3</p>
</div>
</div>
js
function loadMore(event){
if(event.target.innerText=='展开'){
$('.content'). css('max-height','100px');
event.target.innerText='收起');
}else{
$('.content'). css('max-height','0');
event.target.innerText='展开');
}
}