javascript - 淡入淡出切换的 div 区域

标签 javascript html

我有一个代码可以在 div 中显示更多或更少的内容,但是,由于隐藏的 div 中有很多内容,我希望它淡入和淡出。这是我到目前为止的代码,但我不知道如何实现淡入/淡出部分。

请问有什么想法吗?

<script type="text/javascript">
function toggleSeeMore() {
if(document.getElementById("hpreveal").style.display == 'none') {
    document.getElementById("hpreveal").style.display = 'block';
    document.getElementById("seeMore").innerHTML = '[-] See Less  Options';
}
else {
    document.getElementById("hpreveal").style.display = 'none';
    document.getElementById("seeMore").innerHTML = '[+] See More Options';        
}
}
</script>



<div id="hpreveal" style="display: none;">Lots of hidden content here</div>
 <a id="seeMore" onclick="toggleSeeMore()" href="javascript:void(0);">[+] See More Options</a>

最佳答案

您可以使用 CSS 将 transition 效果添加到 #textarea1 元素。不幸的是,您无法转换显示,但是,您可以转换不透明度

请参阅下面的工作示例:

function toggleSeeMore() {
  if (document.getElementById("textarea1").style.opacity == '0') {
    document.getElementById("textarea1").style.opacity = '1';
    document.getElementById("seeMore").innerHTML = '[-] See Less  Options';
  } else {
    document.getElementById("textarea1").style.opacity = '0';
    document.getElementById("seeMore").innerHTML = '[+] See More Options';
  }
}
#textarea1 {
  opacity: 1;
  transition: opacity 1s ease-out;
}
<a id="seeMore" onclick="toggleSeeMore()" href="javascript:void(0);">[+] See More Options</a>

<div id="textarea1">
  <p>This is some text</p>
</div>

但是通过使用 jQuery 的 .toggleFade() 可以更轻松地实现这一点:

$("#seeMore").click(_ => $("#textarea1").fadeToggle(500));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="seeMore" href="javascript:void(0);">[+] See More Options</a>

<div id="textarea1">
  <p>This is some text</p>
</div>

关于javascript - 淡入淡出切换的 div 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54360060/

相关文章:

javascript - 我正在尝试为产品生成评级星星,评级值(0 到 5)已作为 Prop

JavaScript - 与 toString() 相反?

java - 如何上传图片并将其保存在数据库中?

html5 Canvas kineticjs 事件

javascript - 由于ajax代码而导致404错误?

javascript - 不能将 jimp 与 webpack 一起使用

javascript - 如何将 CKEditor textarea 与字符限制集成?

javascript - Lightbox2 不适用于图片库。在 VS code v.1.35 Kali linux 上工作

html - 如何将一个 div 与另一个 div 中的图像水平对齐

html - 如何在 ul 元素中将第一个 li 左对齐和第二个 li 居中对齐