majesticc89
Mitglied
Servus Leute,
erstmal der Code:
HTML:
CSS:
JavaScript:
JSFIDDLE: DEMO
Also ich habe 3 Boxen die horizontal neben einander liegen (dank Flexbox).
Es werden in jeder Box nur die jeweiligen "class=name" angezeigt. Clickt man drauf, fährt es aus!
Funktioniert auch soweit (mit XAMPP, seltsamer nicht bei JSFIDDLE).
Problem 1:
Es ist geplant, dass immer nur ein "panel" offen ist.
Wenn eins offen ist und ich ein Anderes anklicke, sollte sich das Offene schließen.
Problem 2:
Habe ein Problem mit den Boxen. Öffne ich ein Panel aus bspw. Box 2.... verschwinden alle "names" aus Box 1 und Box 3.
Wieso?
Weiß einer Rat?
erstmal der Code:
HTML:
Code:
<div id="container">
<div class="box">
<p class="richtung"> Überschrift 1</p>
<h3 class="name"> TEST1 </h3>
<div class="panel">
<div class="beschreibung">
TEXT1
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink1 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST2 </h3>
<div class="panel">
<div class="beschreibung">
TEXT2
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink2 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST3 </h3>
<div class="panel">
<div class="beschreibung">
TEXT3
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink3 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST4 </h3>
<div class="panel">
<div class="beschreibung">
TEXT4
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink4 </a>
</div>
</div>
<p class="space"> </p>
</div>
<div class="box">
<p class="richtung"> Überschrift 2</p>
<h3 class="name"> TEST5 </h3>
<div class="panel">
<div class="beschreibung">
TEXT5
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink5 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST6 </h3>
<div class="panel">
<div class="beschreibung">
TEXT6
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink2 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST7 </h3>
<div class="panel">
<div class="beschreibung">
TEXT7
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink7 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST8 </h3>
<div class="panel">
<div class="beschreibung">
TEXT8
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink8 </a>
</div>
</div>
<p class="space"> </p>
</div>
<div class="box">
<p class="richtung"> Überschrift 3</p>
<h3 class="name"> TEST9 </h3>
<div class="panel">
<div class="beschreibung">
TEXT9
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink9 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST10 </h3>
<div class="panel">
<div class="beschreibung">
TEXT10
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink10 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST11 </h3>
<div class="panel">
<div class="beschreibung">
TEXT11
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink11 </a>
</div>
</div>
<p class="space"> </p>
<h3 class="name"> TEST12 </h3>
<div class="panel">
<div class="beschreibung">
TEXT12
</div>
<div class="linkattribut">
Link: <a href="#" target="_blank"> testlink12 </a>
</div>
</div>
<p class="space"> </p>
</div>
</div>
CSS:
Code:
#container {
display: flex;
justify-content: space-around;
}
.box {
border: 0.1vw solid black;
border-radius: 1vw;
width: 25vw;
height: 40vw;
}
.richtung {
padding: 0.5vw 0 0.5vw 0;
font-size: 2vw;
font-weight: bold;
text-align: center;
}
.panel {
display: none;
margin: 0 auto 0 auto;
width: 20vw;
border-right: 0.1vw solid black;
border-left: 0.1vw solid black;
border-bottom: 0.1vw solid black;
box-sizing: border-box;
}
.space {
height: 0.4vw;
}
.name {
font-size: 1vw;
margin:0 auto 0 auto;
padding-top: 0.1vw;
width: 20vw;
height: 1.6vw;
text-align: center;
cursor: pointer;
background-color: YellowGreen;
border: 0.1vw solid black;
box-sizing: border-box;
}
.name:hover {
background-color: black;
color: YellowGreen;;
}
.beschreibung {
padding-top: 0.3vw;
width: 20vw;
font-size: 1vw;
text-align: center;
}
.linkattribut {
padding: 0.8vw 1vw 0.8vw 1vw;
width: 20vw;
font-size: 1vw;
font-weight: bold;
box-sizing: border-box;
}
.linkattribut a{
padding-left: 3vw;
list-style: none;
text-decoration: none;
color: #2cb5e8;
}
.linkattribut a:hover {
color: red;
letter-spacing: 0.1vw;
}
JavaScript:
Code:
$(function () {
$('.name').click(function () {
$(this).next('div').slideToggle();
$(this).parent().siblings().children().next().slideUp();
return false;
});
});
JSFIDDLE: DEMO
Also ich habe 3 Boxen die horizontal neben einander liegen (dank Flexbox).
Es werden in jeder Box nur die jeweiligen "class=name" angezeigt. Clickt man drauf, fährt es aus!
Funktioniert auch soweit (mit XAMPP, seltsamer nicht bei JSFIDDLE).
Problem 1:
Es ist geplant, dass immer nur ein "panel" offen ist.
Wenn eins offen ist und ich ein Anderes anklicke, sollte sich das Offene schließen.
Problem 2:
Habe ein Problem mit den Boxen. Öffne ich ein Panel aus bspw. Box 2.... verschwinden alle "names" aus Box 1 und Box 3.
Wieso?
Weiß einer Rat?