仅根据屏幕大小删除类

时间:2017-04-27 19:44:02

标签: jquery html css twitter-bootstrap

我希望在屏幕小于1339像素时从div中删除.btn-group,以便在较小的屏幕上不会影响布局。我正在使用bootstrap v3。

我喜欢使用navbar for< 1339px的布局感觉,所以我想在这些视口中删除分割按钮。但是,我希望将它们保留为> 1340。我希望它看起来像https://youtu.be/qpWlaOeGZ_4?t=10m38s

我不太确定从哪里开始或怎么做。我已经看过其他线索的几个答案,但它们似乎不起作用。

<header class="page-header">
    <div class="navbar navbar-default">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="index.php">Mommy Info</a>
                <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
                    <span class="sr-only">Toggle Navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>
            <div class="collapse navbar-collapse navHeaderCollapse">
                <ul class="nav navbar-nav navbar-right">
                    <li class="active">
                        <div class="btn-group">
                            <a class="btn navbar-btn">Home</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li class="splash"> <a href="#">Home</a></li>
                                <li><a href="#">B</a></li>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>
                    </li> <!--home-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">Preg</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li class="splash"> <a href="#">Preg</a></li>
                                <li><a href="#">ttc</a></li>
                                <li><a href="#">fd</a></li>
                                <li><a href="#">gp</a></li>
                                <li><a href="#">lad</a></li>
                            </ul>
                        </div>
                    </li> <!--preg-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">aab</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">advice</a></li>
                                <li><a href="#">guidelines</a></li>
                                <li><a href="#">milestones</a></li>
                                <li><a href="#">ld</a></li>
                            </ul>
                        </div>
                    </li> <!--aab-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">han</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">B</a></li>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>
                    </li><!--han -->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">MM</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">B</a></li>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>
                    </li> <!-- pm-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">MM</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">B</a></li>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>
                    </li> <!-- mm-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">S</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">HB</a></li>
                                <li><a href="#">DB</a></li>
                                <li><a href="#">CS</a></li>
                                <li><a href="#">BG</a></li>
                            </ul>
                        </div>
                    </li> <!--s-->
                    <li>
                        <div class="btn-group">
                            <a class="btn navbar-btn">R</a>
                            <a data-toggle="dropdown" class="btn navbar-btn dropdown-toggle">
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">RGames</a></li>
                                <li><a href="#">Rgear</a></li>
                                <li><a href="#">Rlearn</a></li>
                            </ul>
                        </div>
                    </li> <!--r-->
                    <li>
                        <div class="btn-group">
                    <a href="#" class="btn navbar-btn">B</a>
                        </div>
                    </li> <!--b -->
                </ul>
            </div>
        </div>
    </div>
</header>

https://jsfiddle.net/ethacker/L9dzjxpg/

解答:

$(document).ready(function(){
    if(window.innerWidth < 1340){
        $('.btn-group').addClass('backup-btn-group').removeClass('btn-group');
        $('.btn').addClass('backup-btn').removeClass('btn');
        $('.mybtn').addClass('dropdown-toggle').attr("data-toggle", "dropdown");
        $('.myanchor').addClass('anchor');
    }
});

$(window).resize(function(){
    if(window.innerWidth < 1340){
        $('.btn-group').addClass('backup-btn-group').removeClass('btn-group');
        $('.btn').addClass('backup-btn').removeClass('btn');
        $('.mybtn').addClass('dropdown-toggle').attr("data-toggle", "dropdown");
        $('.myanchor').addClass('anchor');
    }else{
        $('.backup-btn-group').addClass('btn-group').removeClass('backup-btn-group');
        $('.backup-btn').addClass('btn').removeClass('backup-btn');
        $('.mybtn').removeClass('dropdown-toggle').removeAttribute("data-toggle");
        $('.myanchor').removeClass('anchor');
    }
});

2 个答案:

答案 0 :(得分:1)

你可以用jquery

来做到这一点
$(document).ready(function(){
  if(window.innerWidth < 1340){
    $('.btn-group').addClass('backup-btn-group').removeClass('btn-group');
  }
});

$(window).resize(function(){
  if(window.innerWidth < 1340){
    $('.btn-group').addClass('backup-btn-group').removeClass('btn-group');
  }else{
    $('.backup-btn-group').addClass('btn-group').removeClass('backup-btn-group');
  }
});

我让它添加了一个类&#34; backup-btn-group&#34;因此,如果窗口大于1340,它将替换原始类,但您可以将其保存在var

答案 1 :(得分:0)

$(window).on("load resize", function() {
if($(window).width < 1340){
 $('.btn-group').hide();
}
else{
 $('.btn-group').show();
}
});

您应该使用CSS隐藏.btn-group窗口宽度小于1340。所以它不会在负载上显示。