我想知道是否有人可以帮忙,我正在使用'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/