У меня простая проблема с jQuery, проверьте это: http://jsfiddle.net/4Q5uQ/
Как затенить () поле после завершения эффекта затухания ()?
У меня простая проблема с jQuery, проверьте это: http://jsfiddle.net/4Q5uQ/
Как затенить () поле после завершения эффекта затухания ()?
Я думаю, вы хотите две вещи:
<div>
должны быть в одном и том же месте, чтобы они не перемещались.<div>
, а затем добавить другой <div>
.Первое можно сделать, заключив две <div>
в относительно позиционированную <div>
, а затем абсолютно позиционировав внутренние <div>
:
<div class="wrapper">
<div id="div_1" data="1" class="box">
test_1
</div>
<div id="div_2" data="2" class="box">
test_2
</div>
</div>
А также:
div.wrapper {
position: relative;
}
div.box {
/* ... */
position: absolute;
top: 0;
left: 0;
right: 0;
}
Во-вторых, просто добавьте :visible
к вашему селектору fadeOut
:
$(".box:visible").fadeOut(1000, ...
Обновленная скрипта: http://jsfiddle.net/ambiguous/jAP2b/
position
css? Я имею в виду, почему второй div не находится в том же месте, что и первый div, если я скрываю первый.
- person Fred Collins; 16.10.2011
:visible
убирает правильное <div>
до того, как появится следующий. Однако с позиционированием вы можете исчезать и исчезать. в то же время без изменения HTML или CSS. Вам это не нужно, но это не повредит и дает вам немного больше гибкости в том, как вы хотите анимировать вещи.
- person mu is too short; 16.10.2011
Вам может понадобиться следующий код: http://jsfiddle.net/4Q5uQ/5/
$(document).ready(function() {
$("a").click(function() {
var fin = $(this).attr('fin');
var fout = $(this).attr('fout');
$("#div_" + fout).show();
$("#div_" + fin).hide();
$(".box[data=" + fout + "]").fadeOut(4000, function() {
$(".box[data=" + fin + "]").fadeIn(4000);
});
});
});
$(".box[data=" + data + "]")
. - person Fred Collins   schedule 16.10.2011