我有一个jQuery菜单,当你单击后退按钮时,它不会像它应该的那样工作。 html中有一类“selected”用于您当前所在页面的链接。当您将鼠标悬停在其他链接上时,jQuery会删除该类并添加“悬停”类。问题是,当您单击后退按钮时,“选定”类将保留在您刚刚访问的链接上,而不是您实际所在页面的链接上。我是新手,但我假设html被覆盖了。
到目前为止,我只在FF,IE和Chrome上测试过它。仅在FF上遇到此问题。我想知道是否有办法恢复到html中的原始CSS类。 菜单可以进行测试here。
这是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');
})
});
});