У меня есть требование добавить 5 разделов один за другим при каждом нажатии кнопки div (новый div
должен быть добавлен ниже существующего div
). Я написал код, но новый div
привязан к существующему div
.
Пожалуйста, помогите исправить это.
У меня есть еще одна кнопка, которая удаляет добавленный div
один за другим (новые сначала удаляются).
Извините, если это много кода; Я новичок в jQuery и скриптах.
Вот мой код. сценарий:
$("#dragbtnmore").click(function () {
$('.toAdd').each(function () {
if ($(this).css('display') == 'none') {
$(this).css('display', 'block');
return false;
}
});
var i = 0;
$('.toAdd').each(function () {
if ($(this).css('display') != 'none') {
i++;
}
});
if (i == 5)
$('#dragbtnmore').click(function () { return false; });
});
$("#dragbtnless").click(function () {
$('.toAdd').each(function () {
if ($(this).css('display') == 'block') {
$(this).css('display', 'none');
return false;
}
});
var i = 0;
$('.toAdd').each(function () {
if ($(this).css('display') != 'block') {
i++;
}
});
if (i == 5)
$('#dragbtnless').click(function () { return false; });
$('#dragbtnless').click(function () { return true; });
});
function showmore() {
document.getElementById('containershowmore').style.display = "block";
}
HTML:
<div class="clearFix"></div>
<div id="containershowmore" >
<div id="dragbtnmore" style="cursor: default;">Show more buttons</div>
<div id="dragbtnless" style="cursor: default;">Show Fewer buttons</div>
</div>
<div class="toAdd" style="display:none;" >
<div id="dragdashboardmain" style="cursor: pointer;">dash</div></div>
<div class="toAdd" style="display:none;" >
<div id="dragrcalendar" style="cursor: pointer;">Calendar</div></div>
<div class="toAdd" style="display:none;">
<div id="dragresourcelist" style="cursor: pointer;">Rlist</div></div>
<div class="toAdd" style="display:none;">
<div id="dragdailynotes" style="cursor: pointer;">D Notes</div></div>
<div class="toAdd" style="display:none;">
<div id="dragweeklynotes" style="cursor: pointer;">W Notes</div></div>
стиль:
#containershowmore
{
position: relative;margin-left: 160px;background-color: #b1dafb;z-index: 1;
width: 125px;
float:right;
padding-left: 5px;
}
#dragbtnmore{
margin-bottom:10px;
border:1px solid black;
}
.toAdd
{
height:20px;
width:70px;
position: relative;
margin-bottom: 14px;
}
Попробуйте это, удалив элемент.
$('.toAdd :visible :last').hide();
return false;
JS: -
//i need the output after click showmore buttons:
//w notes
//d notes
//R list
//calendar
// dash
// while removing need w notes to get removed first,
// say like lastin firstout
$("#dragbtnmore").click(function () {
$('.toAdd').each(function () {
if ($(this).css('display') == 'none') {
$(this).css('display', 'block');
return false;
}
});
var i = 0;
$('.toAdd').each(function () {
if ($(this).css('display') != 'none') {
i++;
}
});
if (i == 5) $('#dragbtnmore').click(function () {
return false;
});
});
$("#dragbtnless").click(function () {
$($('.toAdd').get().reverse()).each(function () {
if ($(this).css('display') == 'block') {
$(this).css('display', 'none');
return false;
}
});
var i = 0;
$('.toAdd').each(function () {
if ($(this).css('display') != 'block') {
i++;
}
});
if (i == 5) $('#dragbtnless').click(function () {
return false;
});
$('#dragbtnless').click(function () {
return true;
});
});
function showmore() {
document.getElementById('containershowmore').style.display = "block";
}