【问题标题】:Keep jquery dropdown menu open after opening another page of website打开网站的另一页后保持jquery下拉菜单打开
【发布时间】:2014-09-28 18:27:53
【问题描述】:

我有一个通过鼠标单击的下拉菜单。当我单击某个“下拉链接”时,我网站的另一个页面正在打开,但菜单已关闭。我需要保持打开状态,实际的“下拉链接”应以粗体显示。

这是我所拥有的http://jsfiddle.net/dmitry313/dfgjx22j/1/的示例

HTML:

<a href="javascript:void(0);" id="click1" class="clickme">Click me 1</a>
<ul id="menu_list" style="display:none">
    <li><a href="#">Dropdown link</a></li>
    <li><a href="#">Dropdown link</a></li>
</ul>
<br><a href="javascript:void(0);" class="clickme">Click me 2</a>
<ul style="display:none">
    <li><a href="#">Dropdown link</a></li>
    <li><a href="#">Dropdown link</a></li>
</ul>

这里我重定向到网站的另一个页面:

<li><a href="#">Dropdown link</a></li>

AJAX:

$(document).ready(function(){
    var toggleClick = function(){
        var divObj = $(this).next();
        var nstyle = divObj.css("display");

        if(nstyle == "none"){
            divObj.slideDown(false,function(){
                $("html").bind("click",function(){
                    $("html").unbind("click");
                });
            });
        }
        else {
            divObj.slideUp(true,function(){
                $("html").bind("click",function(){
                    $("html").unbind("click");
                });
            });
        }
    };
    $(".clickme").click(toggleClick);
});

感谢您的帮助!

【问题讨论】:

  • 您提供的小提琴,打开另一个页面后下拉菜单仍然显示。如果这是想要的结果,我看不到问题吗?
  • @Vector:这里有同样的困惑。我猜他希望dropdownlist 在新页面上打开。
  • @SyedAliTaqi 是的,我需要在新页面上打开所有“下拉链接”
  • 也许也能投赞成票?

标签: javascript jquery html css ajax


【解决方案1】:

给你的外部下拉链接href一个额外的标签参数

<a id="dropdown-id" href="http://www.yourpage/#dropdown-link-name">Dropdown link</a>

还要给你的下拉链接一个唯一的 id

为下拉列表 ul 也提供一个唯一的 id 名称

<ul id="sub-level-1" style="display:none">

当新页面加载时,检查url是否包含文本#dropdown-link-name,如果包含,将下拉元素的样式设置为display:block

$(document).ready(function () {
    if (window.location.href.indexOf("#dropdown-link-name") > -1) {
        $('#dropdown-class-name').closest("#sub-level-1").css("display","block");
    }
});

通过这种方式,您必须为每个子菜单块创建一个新的 jquery 就绪函数。我不能给你一个 jsfiddle,但我在本地测试过,它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    相关资源
    最近更新 更多