Superfish 下拉问题

发布于 2024-08-04 09:17:57 字数 457 浏览 11 评论 0原文

这是我的困境:
我正在尝试使我的导航适用于网站 mobilityidaho.org。在主页上,superfish工作正常,完全没有任何问题。当您导航到任何其他页面时,我使用的 CMS 会启动一个 javascript 文件,该文件将“selected”类附加到我的导航中的 li。 Superfish 无法处理将类分配给 li 的情况,并且基本上会关闭与 jquery 相关的任何效果。

我可以处理这个问题,但是 IE6 用户无法访问“选定的”li(通过选项卡进行工作,但谁选项卡?)它是一个政府站点,因此需要与 ie6 兼容。

此外,我们使用的 CMS 没有不分配所选类名的选项,因此删除该 javascript 文件也是不可能的。

我的问题是:有没有办法重写 superfish 以与具有类的

  • 一起使用,或者我应该寻找不同的下拉导航解决方案?
  • Here is my dilemma:
    I'm attempting to make my navigation work for the site mobilityidaho.org. On the home page, there are no problems at all with superfish working properly. When you navigate to any other page, the CMS I am using launches a javascript file that attaches the class "selected" to the li's in my navigation. Superfish cannot handle having a class assigned to the li and basically, shuts down any of the effects associated with the jquery.

    I can handle this, but the "selected" li becomes inaccessible for IE6 users (tabbing through works, but who tabs?) It's a government site so it needs to be ie6 compatible.

    Also, the CMS we use does not have the option of not assigning the selected class name so deleting that javascript file is out of the question as well.

    My question is this: Is there a way to rewrite superfish to work with an <li> that has a class or should I look for a different dropdown nav solution?

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(1

    无法言说的痛 2024-08-11 09:17:57

    当遇到一个特别不可行的问题时,就像你在这里遇到的那样,你不能仅仅更换 CMS,你必须迎合广泛的受众 - 即使他们真的应该更新他们的浏览器,最简单的解决方案是嗅探它们出来,并适当地显示。
    我的意思是:

     if(IE6)
     {
          displayMenu(IE6);
     }else{
          useSuperFish();
     }
    

    这里有一些关于浏览器嗅探的参考资料:
    专门针对 IE6 使用 jQuery
    或者更多参考资料使用 navigator.says() 并为您提供所有版本的 Chrome、Firefox 和 IE 的信息,出于多种原因,这些信息可能非常方便 - 但对于本例来说可能是不必要的。
    特别是因为 jQuery 是单行代码:

     if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
    

    希望这会有所帮助!

    When faced with an issue so specifically unworkable, like what you have here, where you can't just replace a CMS and you have to cater to a wide audience - even if they really should just update their browser, the simplest solution is to sniff them out, and display appropriately.
    What I mean is:

     if(IE6)
     {
          displayMenu(IE6);
     }else{
          useSuperFish();
     }
    

    Here is some reference material on browser sniffing:
    Using jQuery for IE6 specifically.
    Or some more reference material using navigator.says() and gives you information for all versions of Chrome, Firefox and IE, which could be really handy for a whole bunch of reasons - but maybe unnecessary for this instance.
    Particularly because the jQuery is a one - liner:

     if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
    

    Hope this helps!

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文