簡體   English   中英

Bootstrap CSS 導航活動類更改 onclick

[英]Bootstrap CSS Navigation Active class change onclick

單擊下一頁時,我在更改活動類時遇到問題。 我已經嘗試了在這里找到的許多不同的腳本變體,但沒有任何成功。 我的項目位於: http : //criminallawyerhuntsville.com/proof/

    <script>
            $('.navbar-right li').click(function(e) {
            $('.navbar-right li.active').removeClass('active');
            var $this = $(this);
            if (!$this.hasClass('active')) {
                $this.addClass('active');
            }
            e.preventDefault();
        });
    </script>
  </head>
      <body>
          <div id="wrapper">
              <header id="header" style="backface-visibility: hidden; transition: -webkit-transform 0.25s ease-in-out;">
                <nav class="navbar navbar-inverse">
                  <div class="container-fluid">
                    <div class="navbar-header">
                      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#Navbar">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span> 
                      </button>
                      <a class="navbar-brand" href="#"><img src="images/robertsonlogo.png" height="50px"></a>
                    </div>
                    <div class="collapse navbar-collapse" id="Navbar">
                      <ul class="nav navbar-nav navbar-right">
                        <li class="active"><a href="index.php">Home</a></li>
                        <li><a href="domestic_violence.php">Domestic Violence</a></li>
                        <li><a href="drug.php">Drug Crime</a></li> 
                      </ul>
                    </div>
                  </div>
                </nav>
            </header>

您在沒有 $(document).ready() 的情況下使用 jQuery 嗎? 將您的代碼更改為以下代碼以使其觸發,然后檢查控制台是否有錯誤(如果有)。

<script>
$(document).ready(function(){
        $('.navbar-right li').click(function(e) {
        $('.navbar-right li.active').removeClass('active');
        var $this = $(this);
        if (!$this.hasClass('active')) {
            $this.addClass('active');
        }
        e.preventDefault();
        });
});
</script>

如果你使用 prevent default 你想阻止錨標簽工作,所以點擊必須在它上面這個例子是如果你的活動類在 li 而不是錨上:

$('.navbar-right li a').click(function(e) {
   $('.navbar-right li.active').removeClass('active');

   if (!$(this).parent().hasClass('active')) {
     $(this).parent().addClass('active');
   }
   e.preventDefault();
 });

在這里嘗試: https : //jsfiddle.net/xhgwjxku/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM