admin管理员组文章数量:1026381
How can I as simply as possible remove the class "in" from the div with id "panel-login" if the screen are smaller than 1199px (Bootstrap's xs, sm and md modes). I guess some kind of JS or JQuery could solve it but I'm not very good at either.
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-xs-10">
<h4 class="panel-title">Login</h4>
</div>
<div class="col-xs-2 text-right">
<a data-toggle="collapse" href="#panel-login"><i class="fa fa-bars"></i></a>
</div>
</div>
</div>
<div id="panel-login" class="panel-collapse collapse in">
<div class="panel-body">
<ul>
<li><a href="<?=$php_self?>?page=login&view=signup">Create account</a></li>
<li><a href="<?=$php_self?>?page=login&view=reset_password">Reset password</a></li>
<li><a href="<?=$php_self?>?page=login&view=reactivate_account">Reactivate account</a></li>
</ul>
</div><!-- end panel-body -->
</div>
</div><!-- end panel-default -->
How can I as simply as possible remove the class "in" from the div with id "panel-login" if the screen are smaller than 1199px (Bootstrap's xs, sm and md modes). I guess some kind of JS or JQuery could solve it but I'm not very good at either.
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-xs-10">
<h4 class="panel-title">Login</h4>
</div>
<div class="col-xs-2 text-right">
<a data-toggle="collapse" href="#panel-login"><i class="fa fa-bars"></i></a>
</div>
</div>
</div>
<div id="panel-login" class="panel-collapse collapse in">
<div class="panel-body">
<ul>
<li><a href="<?=$php_self?>?page=login&view=signup">Create account</a></li>
<li><a href="<?=$php_self?>?page=login&view=reset_password">Reset password</a></li>
<li><a href="<?=$php_self?>?page=login&view=reactivate_account">Reactivate account</a></li>
</ul>
</div><!-- end panel-body -->
</div>
</div><!-- end panel-default -->
Share
Improve this question
edited Mar 10, 2017 at 14:45
Carol Skelly
362k91 gold badges735 silver badges646 bronze badges
asked Feb 28, 2016 at 12:25
Torbjörn Loke NornwenTorbjörn Loke Nornwen
3052 gold badges4 silver badges13 bronze badges
5 Answers
Reset to default 5This is what I used:
@media (min-width: 768px) {
#my-div .collapse {
display: block;
}
}
You could use a CSS @media query to hide it.. overriding the effect if the .in
@media (max-width:1199px) {
#panel-login {
display:none;
}
}
CSS: http://codeply.com/go/Q4X15Bp31R
Or, you can use jQuery and watch the resize event like this..
function togglePanel (){
var w = $(window).width();
if (w <= 1199) {
$('#panel-login').removeClass('in');
} else {
$('#panel-login').addClass('in');
}
}
$(window).resize(function(){
togglePanel();
});
togglePanel();
jQuery: http://codeply.com/go/okQQKcdO7v
HTML
In you panel-heading element just add
<span class="pull-right clickable"><i class="glyphicon glyphicon-chevron-down"></i></span>
And in your panel-body element add "collapse":
<div class="panel-body collapse">
JAVASCRIPT
$(document).on('click', '.panel-heading span.clickable', function(e){
var $this = $(this);
var d = $this.parents('.panel').find('.panel-body');
if(!d.hasClass('collapse in')) {
d.slideDown();
d.addClass('in');
$this.find('i').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
}
else {
d.slideUp();
d.removeClass('in');
$this.find('i').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');
}
})
Once you've added the javascript snippet globally you are able to toogle every panel by just adding the HTML snippet.
To make it collapsed for mobile devices just trigger the collapse()
function for mobile devices,like
if (($(window).width()) > 767) {
$('.collapse').collapse();
}
OR you could check if the hamburger menu is visible
if (!$('.navbar-toggle').is(':visible')) {
$('.collapse').collapse();
}
Try this :
<head>
...
<script>
$(document).ready(function(){
if ($(window).width() <= 1200) {
$("#panel-login").removeClass("in");
}
});
</script>
</head>
Try This
Put "in" class in html like class="collapse in"
and use
if ( $( document ).width() < 768 ) {
$( '.collapse' ).removeClass( 'in' );
}
How can I as simply as possible remove the class "in" from the div with id "panel-login" if the screen are smaller than 1199px (Bootstrap's xs, sm and md modes). I guess some kind of JS or JQuery could solve it but I'm not very good at either.
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-xs-10">
<h4 class="panel-title">Login</h4>
</div>
<div class="col-xs-2 text-right">
<a data-toggle="collapse" href="#panel-login"><i class="fa fa-bars"></i></a>
</div>
</div>
</div>
<div id="panel-login" class="panel-collapse collapse in">
<div class="panel-body">
<ul>
<li><a href="<?=$php_self?>?page=login&view=signup">Create account</a></li>
<li><a href="<?=$php_self?>?page=login&view=reset_password">Reset password</a></li>
<li><a href="<?=$php_self?>?page=login&view=reactivate_account">Reactivate account</a></li>
</ul>
</div><!-- end panel-body -->
</div>
</div><!-- end panel-default -->
How can I as simply as possible remove the class "in" from the div with id "panel-login" if the screen are smaller than 1199px (Bootstrap's xs, sm and md modes). I guess some kind of JS or JQuery could solve it but I'm not very good at either.
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-xs-10">
<h4 class="panel-title">Login</h4>
</div>
<div class="col-xs-2 text-right">
<a data-toggle="collapse" href="#panel-login"><i class="fa fa-bars"></i></a>
</div>
</div>
</div>
<div id="panel-login" class="panel-collapse collapse in">
<div class="panel-body">
<ul>
<li><a href="<?=$php_self?>?page=login&view=signup">Create account</a></li>
<li><a href="<?=$php_self?>?page=login&view=reset_password">Reset password</a></li>
<li><a href="<?=$php_self?>?page=login&view=reactivate_account">Reactivate account</a></li>
</ul>
</div><!-- end panel-body -->
</div>
</div><!-- end panel-default -->
Share
Improve this question
edited Mar 10, 2017 at 14:45
Carol Skelly
362k91 gold badges735 silver badges646 bronze badges
asked Feb 28, 2016 at 12:25
Torbjörn Loke NornwenTorbjörn Loke Nornwen
3052 gold badges4 silver badges13 bronze badges
5 Answers
Reset to default 5This is what I used:
@media (min-width: 768px) {
#my-div .collapse {
display: block;
}
}
You could use a CSS @media query to hide it.. overriding the effect if the .in
@media (max-width:1199px) {
#panel-login {
display:none;
}
}
CSS: http://codeply.com/go/Q4X15Bp31R
Or, you can use jQuery and watch the resize event like this..
function togglePanel (){
var w = $(window).width();
if (w <= 1199) {
$('#panel-login').removeClass('in');
} else {
$('#panel-login').addClass('in');
}
}
$(window).resize(function(){
togglePanel();
});
togglePanel();
jQuery: http://codeply.com/go/okQQKcdO7v
HTML
In you panel-heading element just add
<span class="pull-right clickable"><i class="glyphicon glyphicon-chevron-down"></i></span>
And in your panel-body element add "collapse":
<div class="panel-body collapse">
JAVASCRIPT
$(document).on('click', '.panel-heading span.clickable', function(e){
var $this = $(this);
var d = $this.parents('.panel').find('.panel-body');
if(!d.hasClass('collapse in')) {
d.slideDown();
d.addClass('in');
$this.find('i').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
}
else {
d.slideUp();
d.removeClass('in');
$this.find('i').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');
}
})
Once you've added the javascript snippet globally you are able to toogle every panel by just adding the HTML snippet.
To make it collapsed for mobile devices just trigger the collapse()
function for mobile devices,like
if (($(window).width()) > 767) {
$('.collapse').collapse();
}
OR you could check if the hamburger menu is visible
if (!$('.navbar-toggle').is(':visible')) {
$('.collapse').collapse();
}
Try this :
<head>
...
<script>
$(document).ready(function(){
if ($(window).width() <= 1200) {
$("#panel-login").removeClass("in");
}
});
</script>
</head>
Try This
Put "in" class in html like class="collapse in"
and use
if ( $( document ).width() < 768 ) {
$( '.collapse' ).removeClass( 'in' );
}
本文标签: javascriptBootstrap panel collapsed on mobile but expanded on desktophowStack Overflow
版权声明:本文标题:javascript - Bootstrap panel: collapsed on mobile but expanded on desktop, how? - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1739512816a1654132.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论