2017-12-07 9 views
0

CSSが正しく動作します。ボタンをクリックすると、ボタンがアクティブになります。 URLの最後にhrefのデータは追加されません。削除してもうまくいきませんe.preventDefault();hrefは.click()jqueryでクラスを追加した後にURLを追加しません。

ありがとうございます。

(function() { 
 
    'use strict'; 
 

 
    $("#header-navigation ul li").click(function(e) { 
 
    e.preventDefault(); 
 
    $("#header-navigation ul li").removeClass("current-menu-item menu-item-has-children"); 
 
    $(this).addClass("current-menu-item menu-item-has-children"); 
 
    }); 
 

 
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="header-navigation-wrap col-md-8"> 
 
    <div id="extended-bg"> 
 
    <nav id="header-navigation" class="header-navigation clearfix"> 
 
     <ul class="header-menu clearfix"> 
 
     <li class="current-menu-item menu-item-has-children"> 
 
      <a href="/">Home</a> 
 
     </li> 
 
     <li><a href="/category">Category</a></li> 
 
     <li><a href="/about">About</a></li> 
 
     <li><a href="/feedback">Feedback</a></li> 
 
     </ul> 
 
    </nav> 
 
    </div> 
 
</div>

+0

何をURLでやろうとしていますか? –

+1

リンクをクリックすると、新しいJavaScript状態の新しいページが読み込まれるため、クリックハンドラーで行う唯一の操作は、クリックされた要素のクラスを0.2秒間設定して、古いページがまだ表示されるようにすることです。 – James

+0

@CarEEdwardsたとえば、「カテゴリ」ボタンをクリックします。 URLは.../categoryのように見えます。しかし、ボタンがアクティブではない( "home"がアクティブなので)、なぜaddClass()とremoveClass()を使用したのですか?その後、「カテゴリ」ボタンが約0.5秒間アクティブになります(URLは... /カテゴリのように見えます)。私は、preventDefault()関数を使用しなければならないことを発見しました。だから、私はよく働いて〜0.5秒で問題を解決しましたが、URLは.../alwaysのように見えます。何も変わらず、ボタンをクリックするとビューが読み込まれません。 – lollipop

答えて

0

最後に...

JS

(function() { 
'use strict'; 

$('ul.header-menu li').click(function(){ 
    window.sessionStorage.activeMenuItem = this.id; 
}); 

if (window.sessionStorage.activeMenuItem) { 
    $("#"+sessionStorage.activeMenuItem).addClass('current-menu-item menu-item-has-children'); 
} 
})(); 

HTML

<ul class="header-menu clearfix"> 
    <li id="liHome"><a href="/">Home</a></li> 
    <li id="liCategory"><a href="/category">Category</a></li> 
    <li id="liAbout"><a href="/about">About</a></li> 
    <li id="liFeedback"><a href="/feedback">Feedback</a></li> 
</ul> 
関連する問題