Reputation: 1
I'm trying to create a responsive grid to displays items that show details when clicked, I can get it to expand but my problem is the elements next to the one clicked collapses down the expanded content and I don't want that, I want to keep all the items at the top and have the content expanded below
Here is what I have now:
$(document).ready(function(){
$("#btn").click(function(){
$("#toggleDemo").collapse('toggle');
});
$("#btn2").click(function(){
$("#toggleDemo2").collapse('toggle');
});
$("#btn3").click(function(){
$("#toggleDemo3").collapse('toggle');
});});
HTML:
<div class="bs-example">
<!-- Trigger Button HTML -->
<input type="button" id="btn" class="btn btn-primary" value="Toggle Button">
<div id="toggleDemo" class="collapse in"><p>This is a simple example of expanding and collapsing individual element via JavaScript. </div>
<input type="button" id="btn2" class="btn btn-primary" value="Toggle Button 2">
<div id="toggleDemo2" class="collapse in"><p>This is a simple example of expanding and collapsing individual element via JavaScript.</div>
<input type="button" id="btn3" class="btn btn-primary" value="Toggle Button 3">
<!-- Collapsible Element HTML -->
<div id="toggleDemo3" class="collapse in"><p>This is a simple example of expanding and collapsing individual element via JavaScript. </div>
Please if you have any idea on how to acomplish it I'd apreciate it
Upvotes: 0
Views: 2176
Reputation: 1894
This can make with custom Jquery code instead of bootstrap. check below codes
Jquery
$(document).ready(function(){
$(".btn-primary").click(function(){
$(this).next('.collapse').slideToggle();
});
});
HTML
<div class="collapses-panel">
<input type="button" id="btn" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample" value="Toggle Button">
<div class="collapse" id="collapseExample">
content
</div>
<input type="button" id="btn2" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample2" value="Toggle Button">
<div class="collapse" id="collapseExample2">
content 2
</div>
<input type="button" id="btn3" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample3" value="Toggle Button">
<div class="collapse" id="collapseExample3">
content 3
</div>
</div>
CSS
.collapses-panel {
position: relative;
}
.btn-primary{
display: block;
}
.collapse {
display: none;
background-color: gray;
}
@media (min-width: 768px) {
.collapse {
position: absolute;
left: 0;
top: 40px;
width: 100%;
}
.btn-primary{
display: inline-block;
}
}
Demo fiddle: http://jsfiddle.net/nikhilvkd/ft4mnynh/7/
Upvotes: 0
Reputation: 3489
Try this,
You don't even need JavaScript
<div>
<input type="button" id="btn" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample" value="Toggle Button">
<input type="button" id="btn" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample2" value="Toggle Button 2">
<input type="button" id="btn" class="btn btn-primary" data-toggle="collapse" data-target="#collapseExample3" value="Toggle Button 3">
</div>
<div class="collapse" id="collapseExample">
content
</div>
<div class="collapse" id="collapseExample2">
content 2
</div>
<div class="collapse" id="collapseExample3">
content 3
</div>
Upvotes: 1