Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2015, 16:00
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

залипает ефект
привет, подскажите как можно улучшить мой скрипт ... все работает как надо - но при быстром переключении между блоками - ОФЭКТ подвисает ... нет анимации ...



<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Animation</title>

        <link rel="stylesheet" href="animate.min.css">
        
        <script src="jquery-1.9.1.js"></script>
        


        <style>
			* {padding: 0;margin: 0;}
			body {background-color: #ccc;}

			.tbl {
				width: 300px;
				height: 300px;
				background-color: yellow;
				margin: 0 auto;
				float: left;
			}

			.tbl:hover {
				background-color: #BBED59;
				transition: all .8s;
				-o-transition: all .8s;
				-ms-transition: all .8s;
				-moz-transition: all .8s;
				-webkit-transition: all .8s;
			}

			.link {
				display: block;
				height: 100%;
				text-decoration: none;
				color: red;
				text-align: center;
				line-height: 200px;
			}

			.on {visibility: visible !important;}
			.off {visibility: hidden;}	
        </style>

        <script>
        	$(document).ready(function() {
        		$(".tbl").mouseenter(function() {
        			$(this).find(".link").addClass("animated fadeInDown on").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
        					$(".link").removeClass("animated fadeInDown");
        			});
        		});
        		$(".link").mouseout(function() {
        			$(this).removeClass("on");
        		});
        		
        	});
        </script>



    </head>
    <body>

    	<div class="tbl">
    		<a href="#" class="link off">TEST!!!</a>
    	</div>
    	<div class="tbl" id="tt">
    		<a href="#" class="link off">TEST!!!</a>
    	</div>
    	<div class="tbl" id="tt">
    		<a href="#" class="link off">TEST!!!</a>
    	</div>
        
        

    </body>
</html>



подскажите что не так ?


архив с файлами на DropBox - https://www.dropbox.com/s/uvwy1lqym5...nimat.rar?dl=0
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2015, 16:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zerofx,
а скрипт то зачем нужен?
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2015, 16:08
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

рони,
ну во первых - надо как-то основы js развивать, а во-вторых через КСС не так интересно ...
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2015, 16:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zerofx,
тогда не one , а таймер -

mouseenter - таймер очистили - таймер поставили или флаг one поставили -- незачем больше ставить
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2015, 16:58
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

а без такймера - ни как? ибо ето уже точно перебор
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2015, 17:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zerofx,
вам же дали два варианта -- не нравится таймер -- делайте через флаг
Ответить с цитированием
  #7 (permalink)  
Старый 29.04.2015, 17:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zerofx,
$(document).ready(function() {
        	    var flag = true;
        		$(".tbl").mouseenter(function() {
        			$(this).find(".link").addClass("animated fadeInDown on")
                 if(flag){
                    flag = false;
                    $(this).find(".link").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
        					$(".link").removeClass("animated fadeInDown"); flag = true;
        			});
                 }

        		});
        		$(".link").mouseout(function() {
        			$(this).removeClass("on");
        		});

        	});
Ответить с цитированием
  #8 (permalink)  
Старый 29.04.2015, 18:13
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

рони,

тоже вариант - но есть недостаток... if- else - долго обрабатывает что и как ... если бистро мишку убрать то надпись зависнет


я не думаю что эта проблема не решается из js, и должен признать, что через ксс3 это будет проще сделать - ето факт!

однако у меня уже получается лучше



рони,
может не по теме - но как вы создаете алгоритм решения проблемы?
это все же практика? или что-то другое?
Ответить с цитированием
  #9 (permalink)  
Старый 29.04.2015, 18:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zerofx,
понимать, что происходит в коде и как устроено то с чем работает код, отсюда множество вариантов решения.
варианты решения на animate вместо классов
Событие hover
hover и элементы form
Ответить с цитированием
  #10 (permalink)  
Старый 29.04.2015, 21:08
Аспирант
Отправить личное сообщение для zerofx Посмотреть профиль Найти все сообщения от zerofx
 
Регистрация: 08.11.2013
Сообщений: 78

рони,

не скажу что всьо ясно - потому что это только первые мои самостоятельные шаги ... да и Не слишком они впечатляющие - для людей которые понимают в этом деле ... но все равно понемногу буду идти в перед ...

отсюда следующий вопрос - я front-end разработчик - и верстка для меня уже не очень интересна ... а пхп и все такое еще не такое простое для меня...

что можете сказать - куда можно двигаться .. в какую сторону расти ... ибо запросы растут ... а ЗП верстальщика не слишком растет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск