У меня есть ряд ящиков (тегов), которые включают / выключают со следующим кодом:
<script type="text/javascript" src="jquery-1.4.3.min.js"></script>
<script type="text/javascript">
isShowing = false;
whichIsShowing = new Array();
$(function() {
$(".normal").hover(
function() {
$(this).toggleClass("highlight");
},
function() {
$(this).toggleClass("highlight");
}
);
$("div").toggle(
function() {
if (isShowing == false) {
$(this).animate({width: "500px", height: "500px"}, 1000);
isShowing = true;
whichIsShowing.push($(this).attr('id'));
$("#display").replaceWith("<div id='display' class='title'>Which div is showing? " + whichIsShowing[0] + "</div>");
} else {
$("#" + whichIsShowing.pop()).animate({width: "175px", height: "175px"}, 1000);
$(this).animate({width: "500px", height: "500px"}, 1000);
whichIsShowing.push($(this).attr('id'));
$("#display").replaceWith("<div id='display' class='title'>Which div is showing? " + whichIsShowing[0] + "</div>");
}
},
function() {
if (isShowing == true) {
$("#" + whichIsShowing.pop()).animate({width: "175px", height: "175px"}, 1000);
isShowing = false;
$("#display").replaceWith("<div id='display' class='title'>Which div is showing? " + "none" + "</div>");
}
}
);
});
</script>
<style type="text/css">
.normal {
width: 175px;
height: 175px;
border:2px solid #333333;
background: Silver;
float: left;
margin-right: 20px;
cursor: pointer;
}
.title {
clear: both;
}
.highlight {
background: #FFCC00;
}
</style>
Какой div показывает:
Проблемакажется, если я нажимаю на ячейки слишком быстро ... тогда у меня одновременно «оживляется» несколько ящиков, а это не то, чего я хочу (я хочу, чтобы в ячейке «оживляло» только одна ячейка"состояние в любое время).
Есть ли способ предотвратить возникновение анимации, когда один блок находится в середине их анимации?ИЛИ, чтобы остановить текущую анимацию, перевернуть ее и анимировать в окне NEW?