Ik las dat ik de vraag hier moest stellen en dat voor mijn robleem ik het beste met jquey kon werken.
Ik heb zelf nog nooit met deze taal gewerkt dus weet er weinig tot niets van af.
Ik heb het volgende waar ik tegen aan loop.
Drie knoppen langs elkaar. Daar onder een plaats waar wat content kan.
Ik begin met 3 knoppen zonder content. Als ik op 1 van de knoppen klik moet er content komen van de betreffende knop, klik ik op een andere knop dan komt er die content te staan. Klik ik nogmaals op de zelfde knop dan zou ik graag willen dat de content weer volledig verdwijnt.
Ik heb echt alles afgezocht maar niet gevonden waar ik naar opzoek ben. kan iemand mij aan een stukje code helpen waar ik mee verder kan.
De volgende javascript zet je eronder of in de header
<script type="text/javascript">
$("#items div").hide();
// Eerste blok is zichtbaar en de link krijgt class=open
$("#items div:first").show();
$("#items a:first").addClass("open");
$("#items a:first").removeClass("dicht");
$("#items a").click( function()
{
if ( $(this).hasClass("open") )
{
$(this).removeClass("open");
$(this).addClass("dicht");
$("div", this.parentNode).hide();
}
else
{
// Alle links met class open, krijgen de class dicht
$("#items a.open").addClass("dicht");
$("#items a.open").removeClass("open");
// Alleen de link waar op is geklikt krijgt de class open
$(this).removeClass("dicht");
$(this).addClass("open");
// Alle blokken worden ingeklapt
$("#items div").hide();
// Betreffende blok wordt uitgeklapt
$("div", this.parentNode).show();
}
});
</script>
Dit zorgt ervoor dat standaard de eerste open is en wanneer je een andere open klikt dat degene die open is, weer dicht gaat.
Ook heb ik classes toegevoegd zodat je met css de class open anders kan open dan de class dicht.
hij werkt perfect. Ik weet dat ik lastg ben maar ik heb nog een klein vraagje is het mogelijk om de links langs elkaar te krijgen en dat de content in een ander tabel komt ??
Dan zou het script iets omgebouwd moeten worden. Dan moet je de links naast elkaar laten floaten.
Daaronder zet je de divs neer, waarvan je er dus maar een laat zien.
Met het klikken moet je dus de juiste div aanroepen.
Het script wat je nu hebt gebruikt (die van mij) roept deze div door te kijken naar de div indezelfde li als de link.
Ik heb er vanavond geen tijd meer voor om dit even om te bouwen (de Sint komt he :D)
Als je een beetje door hebt hoe deze jquery in elkaar zit, dan kun je het natuurlijk ook eerst zelf gaan proberen, volgens de volgende structuur
Ik heb helaas nog geen flauw idee hoe de query werkt en hoe ik hem moet veranderen om tot de oplossing te komen, dus ik hoop hier wat hulp bij te krijgen.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://dev.jquery.com/view/tags/ui/latest/themes/flora/flora.all.css" type="text/css" media="screen" title="Flora (Default)">
<script type="text/javascript" src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.tabs.js"></script>
<script>
$(document).ready(function(){
$("#example > ul").tabs();
});
</script>
</head>
<body>
<div id="example" class="flora">
<ul>
<li><a href="#fragment-1"><span>One</span></a></li>
<li><a href="#fragment-2"><span>Two</span></a></li>
<li><a href="#fragment-3"><span>Three</span></a></li>
</ul>
<div id="fragment-1">
<p>First tab is active by default:</p>
<pre><code>$('#example > ul').tabs();</code></pre>
</div>
<div id="fragment-2">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</div>
<div id="fragment-3">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</div>
</div>
</body>
</html>