【发布时间】:2021-10-01 22:40:21
【问题描述】:
我在一个网站上工作,我对 javascript 很陌生。我有 6 个按钮,当它们被按下时,它们会向下滑动一个带有数据的下拉列表。当一个被按下时,它会收回所有其他的以占用相同的空间。它工作得很好,这就是我用我的javascript知识所做的一切。我现在需要这些下拉菜单来记住当页面使用本地存储刷新时它们所处的位置。我在网上找到了一些本地存储的例子,但在过去的几天里我尝试了其中的 30 个,但无法让它们满足我的需求。我真的坚持如何合并本地存储以在页面刷新时记住这些下拉菜单的位置。
$(document).ready(function() {
$("#flippy2").click(function() {
$("#flippanel2").slideToggle("normal");
if ($("#flippanel")[0].style.display != "none") {
$("#flippanel").slideToggle();
}
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy3").click(function() {
$("#flippanel3").slideToggle("normal");
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy4").click(function() {
$("#flippanel4").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy5").click(function() {
$("#flippanel5").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy6").click(function() {
$("#flippanel6").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy7").click(function() {
$("#flippanel7").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy8").click(function() {
$("#flippanel8").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel9")[0].style.display != "none") {
$("#flippanel9").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy9").click(function() {
$("#flippanel9").slideToggle("normal");
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
if ($("#flippanel4")[0].style.display != "none") {
$("#flippanel4").slideToggle();
}
if ($("#flippanel5")[0].style.display != "none") {
$("#flippanel5").slideToggle();
}
if ($("#flippanel6")[0].style.display != "none") {
$("#flippanel6").slideToggle();
}
if ($("#flippanel7")[0].style.display != "none") {
$("#flippanel7").slideToggle();
}
if ($("#flippanel8")[0].style.display != "none") {
$("#flippanel8").slideToggle();
}
});
});
</script>
编辑: 基于评论的新代码尝试
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div style="position: relative; left: 20%;" class='div-toggle' id='flippy'>
click me1
</div>
<div style="position: relative; left: 20%;" class='div-toggle' id='flippy2'>
click me2
</div>
<div style="position: relative; left: 20%;" class='div-toggle' id='flippy3'>
click me3
</div>
</div>
<script>
$(document).ready(function() {
let first = localStorage.getItem('open-toggle');
if (first) $(`#${first}`).trigger('click');
$(".div-toggle").click(function() {
$(".div-toggle").not(this).slideToggle("normal");
localStorage.setItem('open-toggle', $(this).attr('id'))
})
})
</script>
<script>
$("#flippanel").hide();
$("#flippanel2").hide();
$("#flippanel3").hide();
$(document).ready(function() {
$("#flippy").click(function() {
$("#flippanel").slideToggle("normal");
if ($("#flippanel2")[0].style.display != "none") {
$("#flippanel2").slideToggle();
}
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy2").click(function() {
$("#flippanel2").slideToggle("normal");
if ($("#flippanel")[0].style.display != "none") {
$("#flippanel").slideToggle();
}
if ($("#flippanel3")[0].style.display != "none") {
$("#flippanel3").slideToggle();
}
});
});
$(document).ready(function() {
$("#flippy3").click(function() {
$("#flippanel3").slideToggle("normal");
if ($("#flippanel")[0].style.display != "none") {
$("#flippanel").slideToggle();
}
if ($("#flippanel2")[0].style.display != "none") {
$("#flippanel2").slideToggle();
}
});
});
</script>
【问题讨论】:
标签: javascript local-storage refresh