javascript - 如果打开导航栏,则添加过渡到背景颜色更改

标签 javascript html css

我怎样才能给它添加一个过渡,让它在 1 秒内慢慢变暗? Atm 颜色变化是即时的:

$(function() {
    $('.navbar-toggle').on('click', function() {
        $('body').toggleClass('menu-open');
    })
});

CSS:

body.menu-open:after {
    content: '';
    display: block;
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(0,0,0,0.7);

}

最佳答案

为了转换更改,您必须更改可转换的属性。

您当前的代码正在应用该类时创建一个 sudo 元素。

相反,在 body 上创建 sudo 元素,并在添加类时更改其背景和可见性:

$(function() {

  $('.show').on('click', function() {
        $('body').toggleClass('menu-open');
    });
});
body:after{
     content: '';
    display: block;
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background-color: rgba(0,0,0,0.0);
    visibility:hidden;
    transition: background-color 1s;
}
body.menu-open:after{
      background-color: rgba(0,0,0,0.8);
      visibility:visible;
}
.show{
  display:inline-block;
  background-color:#ffffff;
  border:1px solid;
  padding:15px;
  position:relative;
  z-index:20;
  cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div  class="show">Toggle</div>

关于javascript - 如果打开导航栏,则添加过渡到背景颜色更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52522211/

相关文章:

javascript - 使用php浏览时写入文件的完整路径

jquery - 强制容器滚动到容器底部的元素

html - 为什么我的第三个框与前两个框不对齐?

css - Wordpress:导航边框底部

css - ASP.NET MVC Bootstrap iPhone 导航栏 UI 问题

javascript - jQuery 有 "exists"函数吗?

javascript - 如何检测发送到我的 REST http post 端点的空 JSON 数据?它破坏了我的服务器代码

javascript - 使用 Bootstrap 和 AJAX 删除确认模式

javascript - 从 h1 标签获取链接并使图像可下载

css - 使用媒体查询时 Chrome 中奇怪的 float 渲染