JQuery Slideup/Down Добавить вопрос
$(".item").hover(
function () {
$(this).slideDown().append(
$("<div class=\"attending\">Yes/No</div>")
);
},
function () {
$(this).find("div:last").slideUp().remove();
}
);
Я использую приведенный выше код для добавления div в нижнюю часть элемента при перевертывании. У меня есть несколько .item divs, каждый из которых прикладывает их к ним при опрокидывании, но по какой-то причине я не могу выполнить работу с slidedown/up.
Любые идеи?
Ответы
Ответ 1
$(".item").hover(
function () {
var answer = $("<div class=\"attending\">Yes/No</div>").hide();
answer.appendTo($(this)).slideDown();
},
function () {
$(this).find("div:last").slideUp("normal", function() {
$(this).remove();
});
}
);
Он не скользит вниз!
Вы добавили неправильного дочернего элемента в неправильный элемент, и вы забыли сначала скрыть элемент.
Он не скользит вверх!
Эта строка начинает разворачиваться, но не дожидаться завершения анимации и удаления элемента.
$(this).find("div:last").slideUp().remove()
Ответ 2
Интуитивно я хочу сказать, что вы склеиваете эффект слайда на неправильном элементе. Он называется .list
, а не div.attending
, который является полем, который я предполагаю, что вы хотите появиться.
Ответ 3
попробовать
$(".item").hover(
function () {
$(this).append(
$("<div class=\"attending\">Yes/No</div>").hide();
).find("div:last").slideDown();
},
function () {
$(this).find("div:last").slideUp("normal", function() {
$(this).remove();
});
}
);
Ответ 4
Я столкнулся с подобной проблемой. использовал .append(); попробовал функции обратного вызова, но не работал вообще.
Итак, сделал трюк и преуспел. Возьмите короткий вид.
вот шаги -
- при добавлении содержимого; возьмите переменную и увеличивайте ее значение при каждом вызове блока append-function.
Установка идентификатора с этой переменной для этого элемента и сохранение этого скрытого.
function add_more_charge()
{
var i = $("#store_id_value").val();
var id = 'some_id_'+i;
var str= '<div style="display:none" id="'+id+'">...............</div>';
$("#store_id_value").val(++i);
$("#additional_charges").append(str);
$("#"+id).slideDown();
}
здесь, внутри этого - <input type="hidden" id="store_id_value" value="2" />
значение сохраняется и увеличивается при каждом вызове.
Мы можем генерировать случайные числа. Использование глобальных переменных также будет хорошим вариантом.
Ответ 5
$(".item").hover(
function () {
var content = $(this).append($("<div class=\"attending\">Yes/No</div>")).hide();
$('.attending').last().slideDown();
},
function () {
$(this).find(".attending").last().slideUp("normal", function() {
$(this).remvove();
});
}
);
Попробуйте это немного взломать, но выполняет свою работу.