我希望淡出第一个div并淡入下一个div。
如果我点击第二个div按钮,第二个div应该淡出,第三个div应该淡入。
我试试这个JS:
$(function () {
var fragen_gesamt = $('.dmd-container-frage').length;
$('.dmd-container-frage').hide();
$('.dmd-container-frage:first-child').show();
$('.btn').on('click', function () {
$('.dmd-container-frage:first-child').fadeOut(500, function () {
$(this).next('.dmd-container-frage').fadeIn(1000);
});
});
});
但它只会消失到第二个div。
答案 0 :(得分:2)
您需要在单击功能中更改选择器。现在你找到第一个块,然后是fadein next(这是第二个),你需要的是找到点击按钮的父节点并根据这个元素做其余的逻辑:
$(function() {
var fragen_gesamt = $('.dmd-container-frage').length;
$('.dmd-container-frage').hide();
$('.dmd-container-frage:first-child').show();
$('.btn').on('click', function() {
$(this).closest('.dmd-container-frage').fadeOut(500, function() {
var $el = $(this).next('.dmd-container-frage');
// Check if there is next element
if ($el.length) {
$(this).next('.dmd-container-frage').fadeIn(1000);
} else {
alert('done!')
}
});
});
});
查看这个小提琴 - fiddle