当您单击后退按钮时,我有一个 jQuery 菜单无法正常工作。您当前所在页面的链接在html中有一个“selected”类。当您将鼠标悬停在其他链接上时,jQuery 会删除该类并添加“悬停”类。问题是,当您单击后退按钮时,“选定”类仍保留在您刚刚访问的链接上,而不是您实际所在页面的链接上。我是新手,但我假设 html 已被覆盖。
到目前为止,我只在 FF、IE 和 Chrome 上测试过它。这个问题只在FF上遇到。我想知道是否有办法恢复到 html 中的原始 CSS 类。菜单可以在这里测试。
这是html:
<div id="menu">
<ul>
<li id="menuitem0" class="selected"><a href="index.html">HOME</a></li>
<li id="menuitem1"><a href="link1.html">Link1</a></li>
<li id="menuitem2"><a href="link2.html">Link2</a></li>
<li id="menuitem3"><a href="link3.html">Link3</a></li>
<li id="menuitem4"><a href="link4.html">Link4</a></li>
<li id="menuitem5"><a href="link5.html">Link5</a></li>
<li id="menuitem6"><a href="link6.html">Link6</a></li>
</ul>
</div><!--menu-->
这是jQuery代码:
jQuery(document).ready(function($) {
jQuery(function($){
var pathmatch = location.pathname.match(/([^\/]+)$/);
// set selected by the current pathname, or default to Home...
if( !pathmatch || !$('#menu a[href$="' + pathmatch[1] + '"]').addClass('selected').length){
$('#menu a').eq(0).addClass('selected');
}
$('#menu a')
.hover(function(ev){
// add (or remove) 'hovering' class to the parent LI and its parent UL...
$(this).parent().parent().andSelf().toggleClass('hovering',ev.type==='mouseenter');
})
});
});