Показать сообщение отдельно
  #3 (permalink)  
Старый 18.01.2012, 11:50
Zub Zub вне форума
Новичок на форуме
Отправить личное сообщение для Zub Посмотреть профиль Найти все сообщения от Zub
 
Регистрация: 22.12.2011
Сообщений: 5

Эх, если бы я знал где именно проблема...
Вчера удалось улучшить ситуацию, теперь практически всё работает, но когда блок плавно закрывается, он всё равно остаётся на экране, не смотря на то что конечная точка анимации имеет opacity: 0.
Код переформатировал и убрал по возможности лишнее.
Т.е. проблема сейчас вроде только одна осталась: по окончании анимации закрытия, блок уменьшается, но не исчезает.
.sgin{	  
		  -moz-animation-name: anumaciyoCollapse;
		  -moz-animation-duration: 2000ms;
		  -moz-animation-fill-mode: forwards;
	}
	.yavis{
		  -moz-animation-name: anumaciyoAppear;
		  -moz-animation-duration: 2000ms;
	}
	/*<!--Ключевые кадры анимации--> */
	@-moz-keyframes anumaciyoAppear {                
	0%{
	-moz-transform: scale(0.1,0.1);
	-moz-opacity: 0;
	}
	100% {
	-moz-transform: scale(1,1);
	-moz-opacity: 1;
	}
	}
	@-moz-keyframes anumaciyoCollapse {                
	0% {
	-moz-transform: scale(1,1);
	-moz-opacity: 1;
	}
	100%{
	-moz-transform: scale(0.05,0.05);
	-moz-opacity: 0;
	}
	}
	/*Стиль всплывающего окна */

	#appear {
		   position: absolute;
		   width:320px;
		   left: 35%;
		   top: 100px;
		   border:solid #666688 2px;
		   display: none;
		   z-index: 100;
		   background-color:#666699;
		   color:#fff;
		   text-align:center;
		   padding:10px;
	}

function showWin(){
			document.getElementById('appear').style.display='block'; 
			var element = document.getElementById('appear');
			element.className = "yavis";
		}
		function collapseWin() {
			var element = document.getElementById('appear');
			element.className = "sgin";
		}

<a href="#" onclick="showWin();">open menu</a>
		<div id="appear" >
			text
			<button type="button" onClick="collapseWin()" >X</button>
		</div>


Проблема конечно решается добавлением чего-то типа:
function displNone(){document.getElementById('appear').style.display='none';}
setTimeout(displNone,2000);

но это же ненормально...

Последний раз редактировалось Zub, 18.01.2012 в 12:43.
Ответить с цитированием