我不知道是否有人可以请求帮助,我使用'https://nnattawat.github.io/slideReveal/'中的jquery.slidereveal.js,如果我手动点击触发器打开和关闭菜单,代码插件本身也能正常工作。jQuery SlideReveal不会显示onLoad
但是,我会喜欢它默认的页面加载,无论用户以前点击过的任何状态。
例如,如果他们点击显示,然后导航到另一个屏幕,当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');
}
});
});
如果任何人都可以帮助,那将是非常赞赏:-)
好吧,我已经试过了。我现在有'if(logoutPanelOpen ==“true”){var slider = $(“#slidermenu-bar”)。slideReveal({push:false,position:“left”}); slider.slideReveal(“show”) ;}'我可以简单地看到它弹出,然后再次隐藏。如果我使用'if(logoutPanelOpen ==“true”){var slider = $(“#slidermenu-bar”)。slideReveal(); slider.slideReveal(“show”);}'屏幕向右滑动,但手柄和隐藏面板留在他们的位置,直到手柄被点击并滑出面板,这是非常令人沮丧的LOL – iggyweb
我用一个小'setTimout()'更新了。 ;) –
你遇到了问题,首先,从我所知道的$(document).ready(function(){和$(function(){都是“准备就绪”的块。首先打开它,然后功能块在文档之外准备就绪,再次关闭它。谢谢,现在可以工作了。 – iggyweb