当前位置: 首页 > 知识库问答 >
问题:

在javascrypt中逐步淡化var元素

端木乐语
2023-03-14

我如何从1不透明度到0但逐渐?我是javascript的新手,想知道如何通过单击按钮来淡化元素。这段代码是用来播放和暂停我网站上的一个视频的。这个想法是,一旦你点击播放按钮,按钮就会逐渐消失,显示视频。据我所知,我已经设置了一个变量,它可以一次性降低不透明度,但现在是逐步的。以下是到目前为止尝试的结果:

<video loop id="myVideo">
  <source src="y-join_vid.mp4" type="video/mp4">
</video>

<div class="play_area">
  <div>
    <img src="x-join_img.png" onclick="playVid()" id="mybtn">
  </div>
</div>

<script> 
  var vid = document.getElementById("myVideo"); 
  var btn = document.getElementById("mybtn")

  function playVid() { 
    vid.play(); 
    btn.style.opacity= "0.0"
  } 

</script> 

共有1个答案

翟柏
2023-03-14

有两个选项,CSS或JS

在CSS中:

#mybtn {
   opacity: 1;
   transition: opacity 2s ease;
}

#mybtn.clicked {
   opacity: 0;
}

那么您需要在js中创建一个事件侦听器:

const btn = document.querySelector("#mybtn");
btn.addEventListener("click", ()=> {
    btn.classList.toggle("clicked");
}

如果您想要一个纯JS方法,请尝试以下操作:

const fadeOut = () => {
   const btn = document.querySelector("#mybtn");
   let i = +btn.style.opacity;

   i -= 0.05;   //this controls the fadeout speed
   el.style.opacity = i;

   if (i > 0) requestAnimationFrame(fadeOut);
}

然后调用函数并传递元素:

const btn = document.querySelector("#mybtn");

btn.addEventListener("click", fadeOut);
 类似资料:
  • 问题内容: 我有一个组件,单击时需要切换一个组件。这有效: 它使用条件显示或不显示组件。现在,我希望它逐渐消失。我尝试添加一个挂钩以过渡不透明度,但这不起作用。有没有简单的方法可以做到这一点? 问题答案: 使用CSS类切换+不透明度转换的示例:https : //jsfiddle.net/e7zwhcbt/2/ 这是有趣的CSS: 和render函数:

  • 问题内容: 我试图了解javascript中的一元运算符,其中的大部分内容都很有意义,但我不理解的是如何在以下示例中使用以下示例一个实际的代码示例: 据我了解 + a; 意味着使变量为a和 -a 的正值 ; 意味着使变量为a的负值。我已经尝试了许多示例,例如: 输出仍然是-10; 我也尝试过: 输出为0; 这些一元运算符的实际代码示例是什么? 问题答案: 该运营商不改变值的符号和符不改变的迹象。两

  • var元素用来定义计算机程序的源代码中的变量,它可以是数学表达式或程序上下文中一个真正变量,或一个常量,或函数参数,或仅仅是内容中的占位符。如: <p>爱因斯坦质能方程:<var>E</var> = <var>m</var> <var>c</var><sup>2</sup></p> 默认情况下,浏览器将var元素中的文本显示为斜体。运行结果如图 2‑30 所示: 图2-30 var元素 由于变量

  • 问题内容: 通过使用以下CSS将其类更改为.elementToFadeInAndOut,可以使不透明度为零的元素淡入: 有没有一种方法可以通过编辑同一类的CSS使元素淡入淡出? 问题答案: 使用CSS @keyframes 这是一个演示 阅读:使用CSS动画 您可以通过执行以下操作清除代码:

  • 问题内容: 我想逐行调试Java程序的整个流程,而我正在使用eclipse,我该怎么做? 问题答案: 在Eclipse中调试Java程序需要执行多个步骤,例如: 设置断点 启动调试器 控制程序执行。 对于逐行使用F6和F5进入方法 评估变量等 将所有内容放在此处会使答案过长。我建议您遵循本教程: http://www.vogella.com/articles/EclipseDebugging/ar

  • 问题内容: 我只是将eclipse放在笔记本电脑上,当我使用Step Into调试工具时,它不仅使我进入了代码的下一部分。一个例子是,如果我调用数组列表,它将带我进入数组列表类,并通过所有必需的代码进入 但是,在我的桌面上,它只会带我进入下一段代码。我做: 如果我单击该按钮(从我的桌面进入),则 hello world 将出现在控制台中。 相比之下,如果我在笔记本电脑上“步入” ,它将首先拉起Pr