javascript - CSS 不透明度过渡,使其真正线性

标签 javascript jquery css css-transforms

<分区>

如何在两个 div 之间转换而在转换过程中看不到页面的背景。在此示例中,我希望只看到数字发生变化:

https://jsfiddle.net/j2td4hd7/15/

过渡缓动设置为线性

最佳答案

这与缓动没有任何关系,这是因为您不必要地过渡了两个元素。

很容易将其过于复杂化——而是将两张图片想象成一堆:底部的一张可以一直保持可见,只有顶部的一张需要淡入和淡出。

比较如下:

goodswap = function() {
  $('#div2').fadeToggle(); // transitions the top element in and out
}

badswap = function() {
  $('#div1, #div2').fadeToggle(); // transitions both elements in and out
}
.block-div {
  position: absolute;
  height: 200px;
  width: 400px;
  color: #fff;
  font-size: 40px;
  text-align: center;
}
.container { position: relative }
#div1 { background-color: red;}
#div2 { background-color: brown; display: none;}
#div3 { background-color: blue }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

<button onclick="goodswap()">Good fade</button>
<button onclick="badswap()">Bad fade</button>

<div class="container">
  <div class="block-div" id="div3">(This is the page background)</div>
  <div class="block-div" id="div1">1</div>
  <div class="block-div" id="div2">2</div>
</div>

如果图像大小不同,只要将较大的图像与较高的 z-index 堆叠在一起,此技术仍然有效。要防止页面的其余部分跳来跳去,请将容器的大小设置为较大图像的大小。

goodswap = function() {
  $('#div2').fadeToggle(); // transitions the top element in and out
}

badswap = function() {
  $('#div1, #div2').fadeToggle(); // transitions both elements in and out
}
.block-div {
  position: absolute;
  height: 200px;
  width: 400px;
  color: #fff;
  font-size: 40px;
  text-align: center;
}
.container { position: relative }
#div1 { background-color: red;}
#div2 { background-color: brown; width: 500px; display: none;}
#div3 { background-color: blue }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

<button onclick="goodswap()">Good fade</button>
<button onclick="badswap()">Bad fade</button>

<div class="container">
  <div class="block-div" id="div3">(This is the page background)</div>
  <div class="block-div" id="div1">1</div>
  <div class="block-div" id="div2">2</div>
</div>

关于javascript - CSS 不透明度过渡,使其真正线性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45644799/

相关文章:

asp.net - 如何使用javascript标签发送参数?

javascript - 切换 Chrome 标签页并每 5 秒刷新一次 - javascript

php - WooCommerce 自定义 Ajax 添加到购物车 : How to set a custom price?

javascript - 下拉下拉动画

javascript - 一个 JSON 对象分成几个集合对象

javascript - 如何隐藏专注于 Android 的文本区域?

jquery - 我无法启用和禁用表单输入字段

javascript - Blogger javascript 不加载 css 格式

html - 面板没有对齐

javascript - 为什么JavaScript提示框太小?