залипает ефект
привет, подскажите как можно улучшить мой скрипт ... все работает как надо - но при быстром переключении между блоками - ОФЭКТ подвисает ... нет анимации ...
<!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 |
zerofx,
а скрипт то зачем нужен? |
рони,
ну во первых - надо как-то основы js развивать, а во-вторых через КСС не так интересно ... :) |
zerofx,
тогда не one , а таймер - mouseenter - таймер очистили - таймер поставили или флаг one поставили -- незачем больше ставить |
а без такймера - ни как? ибо ето уже точно перебор :)
|
zerofx,
вам же дали два варианта -- не нравится таймер -- делайте через флаг |
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"); }); }); |
рони,
тоже вариант - но есть недостаток... if- else - долго обрабатывает что и как ... если бистро мишку убрать то надпись зависнет :) я не думаю что эта проблема не решается из js, и должен признать, что через ксс3 это будет проще сделать - ето факт! однако у меня уже получается лучше :dance: рони, может не по теме - но как вы создаете алгоритм решения проблемы? это все же практика? или что-то другое? |
zerofx,
понимать, что происходит в коде и как устроено то с чем работает код, отсюда множество вариантов решения.:write: варианты решения на animate вместо классов http://javascript.ru/forum/events/50...tml#post335960 http://javascript.ru/forum/jquery/44...tml#post294373 |
рони,
не скажу что всьо ясно - потому что это только первые мои самостоятельные шаги ... да и Не слишком они впечатляющие - для людей которые понимают в этом деле ... но все равно понемногу буду идти в перед ... отсюда следующий вопрос - я front-end разработчик - и верстка для меня уже не очень интересна ... а пхп и все такое еще не такое простое для меня... что можете сказать - куда можно двигаться .. в какую сторону расти ... ибо запросы растут ... а ЗП верстальщика не слишком растет :) |
zerofx,
сюда двигаться http://javascript.ru/forum/library-toolkit-framework/ и сюда http://javascript.ru/forum/server-js/ :) |
рони,
:) СПАСИБО!!!! |
Часовой пояс GMT +3, время: 18:38. |