1

当您单击后退按钮时,我有一个 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');
        })
      });

});
4

0 回答 0