如何仅使用javascript来计时和切换onclick事件

如何仅使用javascript来计时和切换onclick事件,javascript,html,class,toggle,toggleclass,Javascript,Html,Class,Toggle,Toggleclass,我对javascript有点小问题(再次)。假设我有一些文本,我希望它在一定的时间延迟(0.5秒)后出现,再次单击它应该在瞬间消失(没有时间延迟) 所以我想让代码切换有时差的文本类 <html> <head> <style> .show{display:block;} .hide{display:none;} </style> <script> function myfunc(){ the code here , } </scr

我对javascript有点小问题(再次)。假设我有一些文本,我希望它在一定的时间延迟(0.5秒)后出现,再次单击它应该在瞬间消失(没有时间延迟)

所以我想让代码切换有时差的文本类

<html>
<head>
<style>
.show{display:block;}
.hide{display:none;}
</style>
<script>
function myfunc(){
the code here , 
}
</script>
</head>
<body>
<span id="text" class="hide" onclick="myfunc()">lorem ipsum dolor sit amet consecteteur</span>
</body>

.show{display:block;}
.hide{display:none;}
函数myfunc(){
这里的代码,
}
洛雷姆·伊普苏姆·多洛尔·希特·阿梅特·康塞特图尔

我可以计算出剩下的css和html,我所需要的只是javascript代码

您应该使用如下内容:

function myfunc()
{
    document.getElementById("text").style.visibility = 'hidden';
}
setTimeout(function() {
    // Do something after 0.5 seconds
    // Here you should display your text and bind the click event 
}, 500);

您所要求的东西对于javascript来说是非常基本的

这里有一些文档供您阅读和学习

  • (如何设置元素的类名)
  • (保留它-尽可能避免使用内联事件处理程序)

例| 我已经为您编写了一个简单的示例,供您进行实验和学习

Javascript

//获取我们正在处理的元素的引用
var my_text=document.getElementById(“text”),
my_toggler=document.getElementById(“toggler”);
//将超时延迟设置为500毫秒
无功延迟=500;
//声明计时器回调函数
函数click_callback(){
my_text.className=“show”;
}
//使用全局变量重置计时器
我的计时器;
//声明onclick事件处理程序
函数文本点击(e){
/*
清除计时器,这样我们就不会创建更多计时器
这将多次触发回调
*/
如果(我的计时器)clearTimeout(我的计时器);
if(my_text.className==“hide”)
my_timer=setTimeout(单击回调,延迟);
其他的
my_text.className=“隐藏”;
}
//将事件处理程序添加到toggler元素
my\u toggler.onclick=text\u onclick;
HTML


Lorem ipsum dolor sit amet,是一位杰出的献身者
维尼那提斯努拉维塔埃吉斯塔家族。 切换
CSS

.show{}
.隐藏{
不透明度:0;/*使用不透明度“填充”容器*/
/*显示:无;也起作用,但作用不同*/
}
#容器{
边框:1px实心浅灰色;
填充物:3px 5px;
边缘底部:5px;
显示:内联块;
}
#扳机{
文本对齐:居中;
边框:1px纯色浅蓝色;
显示:块;
填充物:5px;
游标:默认值;
宽度:50px;
/*使不可选择*/
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}
#切换者:悬停{
背景色:#4488DD;
边框颜色:浅灰色;
颜色:白色;
}
#触发器:活动{
背景色:#66AAFF;
}

感谢您的详细解释,但在您的小提琴中,文本消失了,但不会再出现,如果您可以,请在一个div上单击该函数,该函数迟早会更改文本的类别,您必须自己完成此操作!我会根据您的要求更新我的答案;)