作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
情况是这样的:
1) 我们需要一个框 (div),它只在用户滚动一半页面时显示。
2) 如果用户第一次关闭了盒子,我们希望盒子能够记住。它至少在 10 分钟内不会再次出现在用户面前。
你能帮帮我吗,我写了一些代码,我可以关闭/隐藏该框,但当我再次向下滚动时,它再次出现,但该框并没有真正消失。
不用jquery,纯javascript,帮我完成这个
我的关闭框代码:
function hide()
{
document.getElementById('popup').style.display = 'none';
};
向下滚动时显示框的代码:
window.addEventListener("scroll",function()
{
if (window.pageYOffset >= 800 )
{
document.getElementById('popup').style.display = "block";
}
}, false);
如果你需要例如html代码:
<div id="popup" class="popup-container">
<form action="#" class="popup-form">
</form>
<div class="popup-close">
<span class="fa fa-close" onclick="hide()"></span>
</div>
</div>
最佳答案
let isClicked = false;
window.addEventListener("scroll", function () {
if (!isClicked && window.pageYOffset >= 800) {
document.getElementById('popup').style.display = "block";
}
}, false);
function hide() {
document.getElementById('popup').style.display = 'none';
isClicked = true;
setTimeout(() => {
isClicked = false;
}, 10 * 60 * 1000);
};
<div style="background-color: #f2f2f2; height: 1200px;">
Content div
</div>
<div id="popup" class="popup-container">
<form action="#" class="popup-form">
POP UP
</form>
<div class="popup-close">
<span onclick="hide()">X</span>
</div>
</div>
您可以执行以下操作-
让 isClosed = false;
hide()
函数中将其值设置为 true。滚动偏移
的同时,还要检查 isClosed
的值。if(!isClosed && window.pageYOffset >= 800 ){...
setTimeout()
重置 isClosed
的值。这是一个脚本示例-
let isClosed = false;
function hide() {
document.getElementById('popup').style.display = 'none';
isClosed = true;
setTimeout(function() {
isClosed = false;
}, 10 * 60 * 1000);
};
window.addEventListener("scroll",function(){
if(!isClosed && window.pageYOffset >= 800 ){
document.getElementById('popup').style.display = "block";
}
}, false);
关于javascript - 第一次关闭div,10分钟后不会再出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52839667/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!