单击后退按钮时删除类的jQuery菜单

时间:2012-11-11 08:15:25

标签: jquery html css

我有一个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');
        })
      });

});

0 个答案:

没有答案