Externen Link zur Collapse
Guten morgen, ich möchte mit einem externen Link eine bestimmte Bootstrap Collapse (http://holdirbootstrap.de/javascript/#collapse) öffnen.
Mein Link: index.php?page=hilfe&catid=6#15
Damit möchte ich die Collapsel mit der ID 15 öffnen.
Auf der Zielseite habe ich ein Javascript:
Was ist hier falsch?
Kannst mir jemand weiterhelfen?
Mein Link: index.php?page=hilfe&catid=6#15
Damit möchte ich die Collapsel mit der ID 15 öffnen.
Auf der Zielseite habe ich ein Javascript:
<script type="text/javascript">
$( document ).ready(function() {
if (window.location.hash) {
var AccordionSectionNumber = window.location.hash.substring(1);
AccordionBodyID = $(".accordion .accordion-group:nth-of-type(" + AccordionSectionNumber + ") .accordion-heading a").attr('href')
if (! (typeof AccordionBodyID === "undefined")) {
$(AccordionBodyID).collapse('show');
return true;
}
}
})
;
</script>
Was ist hier falsch?
Kannst mir jemand weiterhelfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 272766
Url: https://administrator.de/contentid/272766
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
10 Kommentare
Neuester Kommentar
Moin,
Ich würde aber stattdessen die Angabe des Panels ebenfalls über einen normalen URL-Parameter übergeben, denn das Auslesen dieser geht ebenfalls mit Java-Script, siehe zweite Demo weiter unten ...
Gruß jodel32
Beispiel 1:
Nicht vergessen in die URL einen random-Parameter mit einzubauen, damit der Browser die Seite nicht aus dem Cache nimmt.Ich würde aber stattdessen die Angabe des Panels ebenfalls über einen normalen URL-Parameter übergeben, denn das Auslesen dieser geht ebenfalls mit Java-Script, siehe zweite Demo weiter unten ...
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap Demo</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" />
<script>
$(document).ready(function(e) {
var pos = parseInt(window.location.hash.substring(1))-1;
if (pos >= 0){
$('div.panel-collapse:eq('+ pos +')').collapse('show');
}
});
</script>
</head>
<body>
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftEins">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseEins" aria-expanded="true" aria-controls"collapseEins">
Klappbarer Eintrag #1
</a>
</h4>
</div>
<div id="collapseEins" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftEins">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftZwei">
<h4 class="panel-title">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseZwei" aria-expanded="false" aria-controls"collapseZwei">
Klappbarer Eintrag #2
</a>
</h4>
</div>
<div id="collapseZwei" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftZwei">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftDrei">
<h4 class="panel-title">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseDrei" aria-expanded="false" aria-controls"collapseDrei">
Klappbarer Eintrag #3
</a>
</h4>
</div>
<div id="collapseDrei" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftDrei">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
</div>
</body>
</html>
Beispiel 2:
(hier ist dann kein Random Parameter nötig). Hier muss beim Aufruf der URL ein Parameter Namen num hinzugefügt werden, also z.B. &num=2.<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap Demo</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" />
<script type="text/javascript">
function getUrlVars()
{
var vars = , hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash);
vars[hash[0]] = hash[1];
}
return vars;
}
$(document).ready(function(e) {
var arrUrlParameter = getUrlVars();
var pos = parseInt(arrUrlParameter['num']) -1;
if (pos >= 0){
$('div.panel-collapse:eq('+ pos +')').collapse('show');
}
});
</script>
</head>
<body>
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftEins">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseEins" aria-expanded="true" aria-controls"collapseEins">
Klappbarer Eintrag #1
</a>
</h4>
</div>
<div id="collapseEins" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftEins">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftZwei">
<h4 class="panel-title">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseZwei" aria-expanded="false" aria-controls"collapseZwei">
Klappbarer Eintrag #2
</a>
</h4>
</div>
<div id="collapseZwei" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftZwei">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="überschriftDrei">
<h4 class="panel-title">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseDrei" aria-expanded="false" aria-controls"collapseDrei">
Klappbarer Eintrag #3
</a>
</h4>
</div>
<div id="collapseDrei" class="panel-collapse collapse" role="tabpanel" aria-labelledby="überschriftDrei">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
</div>
<a href="#1">Expand Panel 1</a>
<a href="#2">Expand Panel 2</a>
<a href="#3">Expand Panel 3</a>
</body>
</html>
Zitat von @pcguy:
Gibt es auch eine Lösung in der ich die Collapse über den Namen oder id ansprechen kann?
Klar:Gibt es auch eine Lösung in der ich die Collapse über den Namen oder id ansprechen kann?
$('#ID_Deines_Panels').collapse('show');
$('#collapseDrei').collapse('show');
Na ganz einfach die id als URL Parameter übergeben wie in Beispiel 2 mit der Nummer gemacht ist doch logisch .... schau's dir
mal genau an
Btw. wenn du sowieso schon in PHP arbeitest kannst du auch direkt die entsprechende Klasse in das DIV schreiben so das es aufgeklappt ist, da brauchst du dann nicht noch hinterher mit JavaScript zu hantieren um das zu verwirklichen !
mal genau an
Btw. wenn du sowieso schon in PHP arbeitest kannst du auch direkt die entsprechende Klasse in das DIV schreiben so das es aufgeklappt ist, da brauchst du dann nicht noch hinterher mit JavaScript zu hantieren um das zu verwirklichen !
Schau dir erst mal an wie man die logischen Operatoren in PHP richtig einsetzt, so kann das ja nicht funktionieren...
http://php.net/manual/de/language.operators.logical.php
http://php.net/manual/de/language.operators.logical.php
Ich sag nur && dann sollte es klick machen