버튼을 누르면 전체 높이로 애니메이션을 만들고 버튼을 다시 클릭하면 원래 높이로 돌아갑니다. div의 전체 높이는 단어 수가 다른 텍스트를 포함하고 있으므로 자동으로 표시됩니다. 아래 코드를 시도했지만 제대로 작동하지 않습니다.DIV를 전체 높이로 애니메이트하고 정의 된 높이로 토글합니다.
CSS의 :
.category_brief{
text-align:justify;
height:100px;
overflow:hidden;
}
예 1 :이 코드는 전체 높이에 열 때 DIV 애니메이션,하지만 다시 옛 높이에 오는 동안 애니메이션을하지 않습니다.
$(".slide").toggle(function(){
$('.category_brief').animate({height:'100%'},200);
},function(){
$('.category_brief').animate({height:100},200);
});
예 2 :이 코드의 출력 예 3
var toggle = true, oldHeight = 0;
$('.slide').click(function(event) {
event.preventDefault();
var $ele = $('.category_brief');
var toHeight = ((toggle = !toggle) ? oldHeight : newHeight);
oldHeight = $ele.height();
var newHeight = $ele.height('auto').height();
$ele.animate({ height: toHeight });
});
예 1
의 것과 동일하다 :이 코드는 그 전체 높이에 DIV를 애니메이션하지만 전환하지 않는다. @chazm에서 생각이 해결 ..@chazm : 아이디어에 대한 감사 내가 안돼서로
var slide = $('.slide');
var slidepanel = $('.category_brief');
// On click, animate it to its full natural height
slide.click(function(event) {
event.preventDefault();
var oldHeight, newHeight;
// Measure before and after
oldHeight = slidepanel.height();
newHeight = slidepanel.height('auto').height();
// Put back the short height (you could grab this first
slidepanel.height(oldHeight);
slidepanel.animate({height: newHeight + "px"});
});
가능하면 .. 또한
업데이트를 약간의 설명을 제공하십시오 . 1과 3의 예제를 결합하여 작동 시켰습니다 ... 누군가가 필요로 할 경우에 대비 한 코드가 있습니다.
var slidepanel = $('.category_brief');
$(".slide").toggle(function(){
var oldHeight, newHeight;
// Measure before and after
oldHeight = slidepanel.height();
newHeight = slidepanel.height('auto').height();
// Put back the short height (you could grab this first
slidepanel.height(oldHeight);
slidepanel.animate({height: newHeight + "px"})
},function(){
$('.category_brief').animate({height:100},300);
});
@ 웨슬리 매치 : 이제 제거되었습니다 .... –