JavaScript - 设置超时函数,然后获取innerHTML并设置sessionStorage
JavaScript - Set timeout function, then get innerHTML and set sessionStorage
我有一个叫 resultsSection
的 <div>
。我想设置一个超时,等待3秒,然后获取resultsSection
的内容,保存到sessionStorage
.
我知道这看起来很奇怪,但这是一个简化的示例。在我的网站上,resultsSection
从多个来源异步加载了内容。加载完成后(大约 3 秒后),我想复制 resultsSection
的内容并将它们保存在 sessionStorage 中以备后用,这样我就不必再次重新加载所有内容。我目前在这里做错了。我该如何实现?
<div class='resultsSection' id='resultsSection'>
Example
</div>
<script>
const itemName = "example";
const name = "resultsSection";
setTimeout(function(){ const data = document.getElementById(name).innerHTML; }, 3000); // I think this is wrong
sessionStorage.setItem(itemName , data );
</script>
您遇到了范围界定问题。您在函数内部设置 data
并试图在外部使用它。而是需要在函数setItem
里面调用函数
const itemName = "example";
const name = "resultsSection";
setTimeout(function() {
const data = document.getElementById(name).innerHTML;
sessionStorage.setItem(itemName, data);
}, 3000);
请注意,setTimeout 不会延迟其后的代码。所有依赖于超时的东西需要在超时内。
我有一个叫 resultsSection
的 <div>
。我想设置一个超时,等待3秒,然后获取resultsSection
的内容,保存到sessionStorage
.
我知道这看起来很奇怪,但这是一个简化的示例。在我的网站上,resultsSection
从多个来源异步加载了内容。加载完成后(大约 3 秒后),我想复制 resultsSection
的内容并将它们保存在 sessionStorage 中以备后用,这样我就不必再次重新加载所有内容。我目前在这里做错了。我该如何实现?
<div class='resultsSection' id='resultsSection'>
Example
</div>
<script>
const itemName = "example";
const name = "resultsSection";
setTimeout(function(){ const data = document.getElementById(name).innerHTML; }, 3000); // I think this is wrong
sessionStorage.setItem(itemName , data );
</script>
您遇到了范围界定问题。您在函数内部设置 data
并试图在外部使用它。而是需要在函数setItem
里面调用函数
const itemName = "example";
const name = "resultsSection";
setTimeout(function() {
const data = document.getElementById(name).innerHTML;
sessionStorage.setItem(itemName, data);
}, 3000);
请注意,setTimeout 不会延迟其后的代码。所有依赖于超时的东西需要在超时内。