javascript - 停止在滚动时淡入后出现 div

标签 javascript jquery

我在 div 上使用 fadeIn

$(document).scroll(function() {
   $('.bottomMenu_alert').fadeIn();
});

用户可以通过单击 div 外部的任意位置来关闭 div

$(document).click(function(event) {
        if ( !$(event.target).hasClass('.bottomMenu_alert')) {
             $(".bottomMenu_alert").hide();
        }
    });

但是当用户再次滚动时,div 会重新出现。

如何阻止 div 再次出现?

最佳答案

您可以设置一个简单的标志变量来锁定 div,并且仅在未锁定时淡入。请参阅:

var divLocked = false;

$(document).scroll(function() {
   if (!divLocked) {  // show only if not locked
       $('.bottomMenu_alert').fadeIn();
   }
});

$(document).click(function(event) {
    if ( !$(event.target).hasClass('.bottomMenu_alert')) {
         $(".bottomMenu_alert").hide();
         divLocked = true;   // lock it after the first click
    }
});

关于javascript - 停止在滚动时淡入后出现 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30394078/

相关文章:

javascript - JQuery 显示/隐藏按钮取决于文本区域字符数

javascript - 使用YouTube API和IE8进行“视频未定义”

javascript - 我应该使用字符串或属性名称初始化对象吗?或者这有什么关系吗?

javascript - 图像上传功能在 Angular 6 中不起作用

javascript - 如何使 jQuery 排序适用于更多字符?

javascript - Angular 2 路由 - 路由器 RC3

javascript - 使用 JavaScript/jQuery 验证文本

javascript - 如何让 Require.js 获取不以 `.js` 结尾的脚本?

javascript - 数组 is.Array if 和 else 语句

javascript - 如何从 map 外部触发 Google map 标记