залипает ефект
привет, подскажите как можно улучшить мой скрипт ... все работает как надо - но при быстром переключении между блоками - ОФЭКТ подвисает ... нет анимации ...
<!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 разработчик - и верстка для меня уже не очень интересна ... а пхп и все такое еще не такое простое для меня... что можете сказать - куда можно двигаться .. в какую сторону расти ... ибо запросы растут ... а ЗП верстальщика не слишком растет :) |
| Часовой пояс GMT +3, время: 10:52. |