Здравствуйте. Сделал плагин анимированного сворачивания/разворачивания текстовых блоков. Все бы хорошо, но при наличии нескольких таких блоков параметр max-height берется с последнего блока, и если некоторые из предыдущих будут больше то раскрываются не полностью, а если меньше то анимация происходит с небольшой задержкой
(function($) {
$.fn.openhide=function(options){
var settings=$.extend({
'maxH':200,
'time':500,
'removeButton':0,
'hoverClass':false,
},options)
this.each(function(i){
hg=$(this).height()
if(hg>options.maxH){
$(this).css({
'max-height':options.maxH+'px',
'overflow-y':'hidden'
}).wrap("<div class='wrapper'></div>")
$(this).parents(".wrapper").append("<span class='opener'>Раскрыть</span>")
$(this).parents(".wrapper").find(".opener").click(function(){
opener=$(this)
div=opener.parents(".wrapper").find("div")
op=div.hasClass("opened")
div.animate({
'max-height':(op?options.maxH:hg)+'px'
},options.time,function(){
if(options.removeButton)
opener.remove()
else{
if(op){
div.removeClass("opened")
opener.text("Раскрыть")
}
else{
div.addClass("opened")
opener.text("Свернуть")
}
}
})
})
.mouseover(function(){
if(options.hoverClass)
$(this).addClass(options.hoverClass)
})
.mouseout(function(){
if(options.hoverClass)
$(this).removeClass(options.hoverClass)
})
}
})
}
})(jQuery)
опция removeButton - удаление кнопки после разворачивания