Fixen des Accordion-Schließen Bug

This commit is contained in:
ja
2021-09-23 13:00:26 +02:00
parent 9ae3a92971
commit 4d0444d40a
8 changed files with 128 additions and 48 deletions

View File

@@ -100,6 +100,7 @@
</div>
</div>
</div>
<asp:HiddenField ID="hfAccordionIndex" runat="server" />
<div style="height:0.936768149882904vh"></div>
<div class="col-12" id="cont4">
<div class="col-12" id="container2" style="margin-left:2px">
@@ -108,10 +109,12 @@
<asp:Label ID="lbl_bis" runat="server" Text="Bis:"></asp:Label>
<asp:TextBox id="pickdate2" Type="Date" CssClass="classTarget" runat="server"></asp:TextBox>
<asp:Label ID="lbl_ErrorCal" runat="server" Text=""></asp:Label>
</div>
<div id="Abstand"></div>
<hr>
<div id="accordion">
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
@@ -119,7 +122,7 @@
</h2>
</div>
<div id="collapseOne" class="accordion-collapse collapse hide" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div id="collapseOne" class="accordion-collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="card card-body">
<div class="col-12" id="cont3">
<div class="container">
@@ -187,7 +190,7 @@
</asp:Table>
</div>
</div></div></div>
</div></div>
</div>
<br /><br /><br />
<% End If
@@ -236,7 +239,7 @@
$("#container2").hide();
}
});
});
});
</script>
<script type="text/javascript">
$(document).ready(function () {
@@ -247,5 +250,37 @@
}
});
</script>
</script>
<script>
$(document).ready(function () {
$(".accordion .accordion-collapse").on('shown.bs.collapse', function () {
var active = $(this).attr('id');
var panels = localStorage.panels === undefined ? new Array() : JSON.parse(localStorage.panels);
if ($.inArray(active, panels) == -1) //check that the element is not in the array
panels.push(active);
localStorage.panels = JSON.stringify(panels);
});
$(".accordion .accordion-collapse").on('hidden.bs.collapse', function () {
var active = $(this).attr('id');
var panels = localStorage.panels === undefined ? new Array() : JSON.parse(localStorage.panels);
var elementIndex = $.inArray(active, panels);
if (elementIndex !== -1) //check the array
{
panels.splice(elementIndex, 1); //remove item from array
}
localStorage.panels = JSON.stringify(panels); //save array on localStorage
});
var panels = localStorage.panels === undefined ? new Array() : JSON.parse(localStorage.panels); //get all panels
for (var i in panels) { //<-- panel is the name of the cookie
if ($("#" + panels[i]).hasClass('accordion-collapse')) // check if this is a panel
{
$("#" + panels[i]).collapse("show");
}
}
});
</script>
</asp:Content>