javascript - 重复 javascript 函数 onclick

标签 javascript onclick opacity fadein parsefloat

我是个菜鸟,需要一些关于功能的帮助,我认为对于你们大多数人来说这将是相当简单的。我正在尝试使用纯 Javascript 而不是 JQuery 来做到这一点。我已经尝试了几个小时但无法得到它。

我想要实现的是每次点击链接时都重复一个函数。

更具体地说,我目前的文本在单击链接时会淡入,并且我希望它始终在我单击它时执行淡入(就像您要刷新页面一样)。

基本上:单击链接 (x) -- 文本淡入 -- 单击链接 (x) -- 相同文本消失,然后从过渡/动画开始淡入(无淡出) -- 重复

我在 W3 学校遇到过一些非常类似的东西,每次单击按钮时都会显示一个从头开始的功能:https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_setinterval_progressbar

我认为修改它就是答案,但因为我试图更改不透明度,我发现我必须向函数添加 parseFloat 因为它是一个字符串,但我没有成功。例子是:

else { i.style.opacity = parseFloat(i.style.opacity) + .1; }

为了在作品中添加另一个 Spanner ,我使用 color:rgba(0,0,0,0) 中的不透明度值来更改不透明度。我认为这可能更容易找到,因为上面的示例(在我看来)会绕过 parseFloat 事物,就像您使用 i.style.color 但我找不到任何东西。

下面是我的代码,基于 W3 学校教程的变体。我非常确定 JS 中的clearInterval 在满足我的需要方面发挥着重要作用。非常感谢对此的任何帮助,如果您需要更多说明,请告诉我:)

<!DOCTYPE html>
<html>

<style>

#about {
  color: rgba(10,10,10,0);
  transition: color 1s linear 1s;
}

#about:target {
  color: rgba(10,10,10,1);
  transition: color 1s linear 1s;
}    

</style>

<body>

<a href="#about" onclick="fadeIn()">About</a> 

<div id="div">

<p id='about'> Please help me figure this out. I really appreciate it</p>  

</div>

</body>

<script>
function fadeIn() {
var elem = document.getElementById("about");   
var begin = 0;
var id = setInterval(frame, 10);
function frame() {
  if (begin == 100) {
    clearInterval(id);
  } else {
    begin++; 
    elem.style.color = begin + '1'; 
  }
 }
}
</script>

</html>

最佳答案

有一个解决方案,我不会向您展示,因为与 CSS 技巧相比,JS“hack”将花费更长的时间:(寻找适当的引用)

您将要淡入和淡出的内容包装到容器中(只需确保)并在其上方添加一个复选框:

<label for="about">About</label>
<intput type="checkbox" name="about" id="about">
<div id="about_container"> bla-bla-bla</div>

然后你设计你的东西: 隐藏复选框(标签可点击) 为您的#about_container 进行两个配置 第一个:在关闭模式下,第二个在开启模式下(您可以将它们注释掉以进行调试)

#about + #about_container

然后在第二个之前添加带有伪选择器的输入 id:

#about:checked + #about_container

打开您的开启模式,然后保持另一个模式不变。

更好、更快的解决方案!

您还应该将您的问题更改为: 如何使 html 元素在鼠标单击或其他用户交互时出现和消失。

关于javascript - 重复 javascript 函数 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750970/

相关文章:

javascript - 删除 Json 键中的空格

javascript - 在 js 中编写自己的确认的最佳方法是什么?

android - 使用自定义适配器刷新可见的 ListView

Html Css 图像悬停不透明度变化和文本出现而文本不透明度也改变了吗?

java - JFrame背景透明,但内容可见

javascript - 从服务器接收对象并将其转换为客户端 Typescript (javascript) 中所需的对象

javascript - 通过javascript检测是否安装了Silverlight

javascript - 将 onclick 事件绑定(bind)到带有子元素的 anchor 标记并从 anchor 获取属性数据

android - OnClick() 事件和 OnClickListener 的区别?

.net - 更改背景不透明度而不更改内容不透明度