【问题标题】:How can I remove the fade out of bootstrap's modal-backdrop如何删除引导程序模态背景的淡出
【发布时间】:2013-12-29 00:08:49
【问题描述】:

我想向用户展示一系列模态,而不仅仅是一个。我的目标是让第一个模态与背景一起淡入,并为第二个和第三个模态保留背景而不会淡出。然后背景应该在第三个模态之后淡出。本质上,我希望第一个模态与背景一起出现 - 然后第二个和第三个模态出现在相同的背景上,因为第一个和第二个模态淡出。然后第三个模态应该随着背景消失。

我尝试了以下代码,模态仍然存在,但第二个背景不会触发,因为它似乎在等待前一个模态背景消失后再触发:

  $('.modal-backdrop.fade').css({
    opacity: 0.8
  });

然后我尝试从背景中删除“淡入淡出”类,但这也不起作用。

触发以下modal的代码如下:

  $modalOne.on('hidden', function (e) {
    $modalTwo.modal('show');
  }

【问题讨论】:

  • 我想出了一个hack解决方案,就是将modal-backdrop.fade CSS改为opacity: 0.79。这样,背景“隐藏”到几乎与最初相同的不透明度。这使得最后的淡出很突然,但基本上实现了我想要的外观,并且是从 0 到 0.8 不透明度来回淡出的巨大改进。

标签: jquery twitter-bootstrap


【解决方案1】:

我喜欢赌博。

 $('.modal-backdrop.fade').css({
     'background-color': 'rgba(0,0,0,0.8)'
 });

试一试 - 仅供参考,这是为了测试我的理论。如果可行,请使用它而不是 opacity。这组 4 个数字中的最后一个数字是 alpha 级别本质上是它的不透明度)。其他当然是红色绿色蓝色

【讨论】:

  • 有趣!它没有这样工作,因为模态对模态背景的不透明度有一些监听器(我认为),所以它仍然淡出然后重新进入。如果我将 alpha 级别调到 0.2,它只会进入那个 alpha在为第二个模态初始化第二个背景之前,水平然后回到无背景。我很想只让模态透明并构建我自己的背景,或者让模态透明,但如果你有其他理论想尝试一下!
【解决方案2】:

好吧,根据 Deryck 的回答,我正在玩弄它并找到了适合我的解决方案。

 $('.modal-backdrop').css({
     'position': 'relative'
 });

【讨论】:

    【解决方案3】:

    检查某些元素或 z-index 上的相对位置我在容器元素上有 z-index: 0 ,这是导致问题的原因。 (设计师不能和他们一起生活,不能没有他们离开:))

    【讨论】:

      猜你喜欢
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 2015-12-13
      相关资源
      最近更新 更多