Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   slideToggle slideDown slideUp (https://javascript.ru/forum/jquery/9431-slidetoggle-slidedown-slideup.html)

mycoding 16.05.2010 20:53

slideToggle slideDown slideUp
 
Пытаюсь реализовать в своём framework методы slideToggle slideDown slideUp.
Как идёт сужение более менее понятно, но вот как идёт расширение.
Ведь не указывается до какого размера расширять.
В JQuery, кроме то при сужении и расширении, происходят какие-то действия с самим текстом внутри. То ли margin, то ли ещё что-то меняется?
Меня интересует именно техническая реализация.
Если можете, подскажите, пожалуйста.

Для slideUp получилось вот это. Не пытайтесь больно вникнуть в этот код.
slideUp : function(){
				var id = this.id,
				timerId;
				if(window.timerIds==undefined){
					window.timerIds=[];
				}
				for(var i=0;i<1;i++){
					if(window.timerIds[i]==undefined){
						window.timerIds[i]=i;
						timerId='timer'+i;
					}
				}				
				$.timer(1,timerId,function(){
										var elem=$(id);
										var height=Js.int(elem.css('height'));
										if(elem.css('overflow')!='hidden'){elem.css('overflow','hidden');}
										if(height>4){
											elem.css('height',height-1);
										}
										else{
											elem.css({'height':1,'display':'none'});
											$.timerStop(timerId);
										}
									});
	},

B@rmaley.e><e 17.05.2010 07:38

Цитата:

Сообщение от mycoding
Ведь не указывается до какого размера расширять.

Значит нужно узнать высоту элемента в развернутом состоянии. Например, клонировать его, выслать за пределы окна просмотра, показать и посчитать высоту.


Часовой пояс GMT +3, время: 05:44.