我想知道是否有人可以帮忙,我正在使用'https://nnattawat.github.io/slideReveal/'中的jquery.slidereveal.js,如果手动单击触发器以打开和关闭菜单,则代码插件本身可以正常工作。

但是,我希望它在页面加载时默认为用户先前单击的任何状态。

例如,如果他们单击以显示然后导航到另一个屏幕,则当JS再次加载时,我希望它检查保存到localStorage的最后一个状态,如果为true,则自动显示隐藏的面板。

请在下面查看我的代码:

$(document).ready(function () {
    var panelOpen = localStorage.getItem("panelOpen");

    if (panelOpen == "true") {
        $("#slidermenu-bar").slideReveal("show");
    }
});

$(function () {
    $("#slidermenu-bar").slideReveal({
        push: false,
        position: "left",
        trigger: $(".handle"),
        shown: function (obj) {
            localStorage.setItem("panelOpen", true);
            obj.find(".handle").html('<span class="glyphicon glyphicon-chevron-left"></span> Open');

        },
        hidden: function (obj) {
            localStorage.setItem("panelOpen", false);
            obj.find(".handle").html('<span class="glyphicon glyphicon-chevron-right"></span> Close');
        }
    });
});


如果有人可以提供帮助,将不胜感激:-)

最佳答案

您的代码真的很有效。

首先,据我所知,$(document).ready(function () {$(function () {都处于“就绪”状态。
如果它们之间存在差异,那是非常微妙的,因为我从未注意到!

因此,您可以将所有脚本放在同一“就绪”块中。
现在只需在检入本地存储之前在slideReveal上实例化$("#slidermenu-bar")

;)

关于javascript - jQuery SlideReveal不会显示在加载中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40845866/

10-09 15:07