[英]jQuery: How can I remember clicked-tab of side-nav and make it colored(active) when newly page loaded?
side-nav的HTML
代碼的一部分:
<div class="side-nav margin-bottom-60">
<div class="side-nav-head">
<button class="fa fa-bars"></button>
<h4>CATEGORIES</h4>
</div>
<ul class="list-group list-group-bordered list-group-noicon uppercase">
<li class="list-group-item active">
<a class="dropdown-toggle" href="#">WOMEN</a>
<ul>
<li><a href="#"><span class="size-11 text-muted pull-right">(123)</span> Shoes & Boots</a></li>
<li class="active"><a href="#"><span class="size-11 text-muted pull-right">(331)</span> Top & Blouses</a></li>
<li><a href="#"><span class="size-11 text-muted pull-right">(234)</span> Dresses & Skirts</a></li>
</ul>
</li>
<li class="list-group-item">
<a class="dropdown-toggle" href="#">MEN</a>
<ul>
<li><a href="#"><span class="size-11 text-muted pull-right">(88)</span> Accessories</a></li>
<li><a href="#"><span class="size-11 text-muted pull-right">(67)</span> Shoes & Boots</a></li>
<li><a href="#"><span class="size-11 text-muted pull-right">(32)</span> Dresses & Skirts</a></li>
<li class="active"><a href="#"><span class="size-11 text-muted pull-right">(78)</span> Top & Blouses</a></li>
</ul>
</li>
</ul>
</div>
它看起來像這樣:
我想做的是:
為此,我認為它需要可以保存單擊事件或選項卡狀態的存儲內容,以便即使在加載新頁面后也可以更改類別的顏色。
並且也想知道它是否應該發生在正面。
甚至不知道如何在Google中搜索。
有任何想法嗎?
實現這一目標的方法有很多,一種是:
在每個包含頁面標識值的頁面中放置一個隱藏元素,例如:
<input class="identification" value="boys_section" />
<input class="identification" value="girl_section" />
...
並在您的布局上放一張類似的支票:
var identity = $('.identification').val();
if(identity == 'boys_section')
{
// set the css to change the color of the matching <li>
}
支持N級的一種非常優雅的方式。
在鼠標按下時,我們刪除所有活動列表元素。
在單擊列表元素時,我們添加了活動類,因為嵌套元素還將接收事件,它也將被標記為活動等。
您可以將其與其他答案混合,並在隱藏的輸入中填充元素ID,在頁面加載時,您只需模擬對目標元素的點擊即可:
$('#' + paramFromQuery).click();
$('li').click(function(event){ $(this).addClass('active'); }); $('li').mousedown(function(event){ $('li.active').removeClass('active'); }); function getParameterByName(name, url) { if (!url) { url = window.location.href; } name = name.replace(/[\\[\\]]/g, "\\\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\\+/g, " ")); } var selected = getParameterByName('selected'); if(selected){ console.log(selected); $('.' + selected).trigger("click"); }else{ // simulation for demo on first load selected = "list-1-2"; $('.' + selected).trigger("click"); }
li.active > a{ color: lime; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="side-nav margin-bottom-60"> <div class="side-nav-head"> <button class="fa fa-bars"></button> <h4>CATEGORIES</h4> </div> <ul class="list-group list-group-bordered list-group-noicon uppercase"> <li class="list-group-item list-1"> <a class="dropdown-toggle" href="#?selected=list-1">WOMEN</a> <ul> <li class="list-1-1"><a href="#?selected=list-1-1"><span class="size-11 text-muted pull-right">(123)</span> Shoes & Boots</a></li> <li class="list-1-2"><a href="#?selected=list-1-2"><span class="size-11 text-muted pull-right">(331)</span> Top & Blouses</a></li> <li class="list-1-3"><a href="#?selected=list-1-3"><span class="size-11 text-muted pull-right">(234)</span> Dresses & Skirts</a></li> </ul> </li> <li class="list-group-item list-2"> <a class="dropdown-toggle" href="#?selected=2">MEN</a> <ul> <li class="list-2-1"><a href="#?selected=list-2-1"><span class="size-11 text-muted pull-right">(88)</span> Accessories</a></li> <li class="list-2-2"><a href="#?selected=list-2-2"><span class="size-11 text-muted pull-right">(67)</span> Shoes & Boots</a></li> <li class="list-2-3"><a href="#?selected=list-2-3"><span class="size-11 text-muted pull-right">(32)</span> Dresses & Skirts</a></li> <li class="list-2-4"><a href="#?selected=list-2-4"><span class="size-11 text-muted pull-right">(78)</span> Top & Blouses</a></li> </ul> </li> </ul> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.