单击时重置计时器以进行显示和隐藏 - jquery
Reset timer on click for show and hide - jquery
我有一个jQuery任务,单击按钮时,我必须显示一条文本消息10秒钟,我已经实现了。
现在的问题是,当文本仍然可见时,如果我单击相同的按钮,它应该重置计时器(计时器应为 0,文本应再次显示 10 秒)。以下是我所做的。你能告诉我我做错了什么吗?
$('#mybtn').live('click', function(e){
/*mybtn is the button
mytext is the text that should appear
*/
e.preventDefault();
var $mytext = $('#mytext');
if( $mytext.length >0){ //text is existing or showing
$mytext.stop();
$mytext.show().delay(10000).hide(500);
}
else{
$mytext.show().delay(10000).hide(500);
}
});
试试这个:
var timer;
$('#mybtn').on('click', function(e){
var $mytext = $('#mytext');
$mytext.show(500);
clearTimeout(timer);
timer = setTimeout(function(){
$mytext.hide(500)
},10000);
});
在这里工作小提琴:http://jsfiddle.net/jUkbh/
也检查这个小提琴:http://jsfiddle.net/jUkbh/2/
与其使用
delay(1000)
,不如使用 window.settimeout
。
var time;
if( $mytext.length >0) {
$mytext.stop();
$mytext.show()
cleartimeout(time);
time=window.settimeout(
function() {
$mytext.hide(500);
}, 1000);
}
相关文章:
- 在jquery中为显示/隐藏设置cookie
- PHP Javascript显示/隐藏按钮不工作
- 打开/关闭按钮以显示/隐藏内容
- 显示隐藏复选框
- 在bootstrap中显示隐藏特定的li
- JQuery上下文菜单显示/隐藏问题
- JQuery在单击时停止显示/隐藏
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 使用 jQuery 切换显示/隐藏
- 显示/隐藏有关模型更改的指令内容
- Bootstrap在页面加载缓慢时会立即显示隐藏的模式对话框
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 显示/隐藏不起作用
- 使用ng-hide根据条件显示/隐藏按钮
- 仅在第一个结果中显示/隐藏MySQL结果函数
- 显示/隐藏http://ftp链接
- 在显示/隐藏中单击时删除的文本
- 是否可以在不重新渲染的情况下显示/隐藏父对象中的元素
- 将页面内容向左移动时显示/隐藏右侧面板
- 显示/隐藏将不会加载