我是 jquery 新手,将以下代码放在一起,使 DIV 在设置的向下滚动量后出现。如果向上滚动,DIV 会消失。或者,一旦 DIV 出现,就会有一个关闭它的链接。这一切都按预期工作,除此之外我只希望脚本运行一次。目前,如果我向上滚动,黄色框会再次出现。我怎样才能确保盒子保持关闭状态?作为另一种选择,我可以集成 cookie 或 localStorage 吗?
非常感谢!拉斯。
Javascript:
$(function () {
var target = $(".box");
if ($(window).scrollTop() > 30) {
target.hide();
}
$(window).scroll(function () {
var pos = $(window).scrollTop();
if (pos > 30) {
target.stop(true, true).fadeIn('slow');
} else {
target.stop(true, true).fadeOut('slow');
}
});
$('a.close').click(function () {
$($(this).attr('href')).slideUp();
return false;
});
});
这是指向我的代码的 jsfiddle 链接:jsfiddle link
最佳答案
您可以使用 removeClass()
删除类以确保框保持封闭状态。或者在动画之后直接 $(".box").remove()
。
您可以使用 cookie 存储此选择,但如果客户删除他的 cookie,它就会丢失。
关于javascript - 防止滚动 jquery 脚本运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916133/