Jquery 及时单击或隐藏段落
我在一页上有一段。如果用户单击它,它将隐藏。如果在6秒内没有点击,它会隐藏自己Jquery 及时单击或隐藏段落,jquery,Jquery,我在一页上有一段。如果用户单击它,它将隐藏。如果在6秒内没有点击,它会隐藏自己 $("#parahide").on("click", function () { $(this).slideUp('400'); }); 我如何编码段落,使其在6秒内隐藏?使用setTimeOut或其他方式进行设置?这应该可以: $('#parahide').click(function(){ //hides element when click is made $(this).slideUp('40
$("#parahide").on("click", function () {
$(this).slideUp('400');
});
我如何编码段落,使其在6秒内隐藏?使用setTimeOut或其他方式进行设置?这应该可以:
$('#parahide').click(function(){ //hides element when click is made
$(this).slideUp('400');
});
var fun = setTimeout(function () {
$("#parahide").slideUp('400');
},6000); //will hide element in 6 seconds if no click is made
fun();
clearTimeout(fun);
JSFiddle:
使用以下命令:
var myTimeout = setTimeout(function(){
$("#parahide").slideUp('400');
}, 6000);
$("#parahide").on("click", function () {
$(this).slideUp('400');
clearTimeout(myTimeout);
});
jsidle:您可以结合使用jQuery的延迟和出列: $parahide.onclick,函数{ $this.dequeue.slideUp'400'; }.delay6000.slideUp'400';
知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。 使用以下代码:
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<div id= 'successMessage'>Hide this Div</div>
<script>
setTimeout(function() {
$("#successMessage").hide()
}, 6000);
$('#successMessage').click(function(){
$("#successMessage").hide()
});
</script>
关于.setTimeout,是的。我是如何使用ClearTimeout的。还有为什么要使用它?setInterval方法将继续调用该函数,直到调用clearInterval或关闭窗口。@Magicprog.fr,编辑我的答案。好的,我如何在此处调用它。你能举个例子吗。还有,为什么我们在这里使用SetInterval而不是SetTimeout?+1。我不知道为什么会被否决。完全合法和正确的答案。我如何在这里使用ClearTimeout。为什么要使用它?@user1089173 ClearTimeout在这里是无用的。ClearTimeout阻止使用setTimeout设置的函数执行。setTimeout只执行一次。Magnus展示了一个clearTimeout示例。你是说这是错的?我认为在这种情况下不需要clearTimeout。如果parahide已经向上滑动,那么对slideUp的第二个调用将被忽略。如果我点击这个段落,控制台就会被打印出来,这意味着setTimeout函数已经执行。但是我在单击中调用了clearTimeout,控制台从未打印出来。这意味着它是必要的,这样超时功能就不能正常启动了?谢谢。这种方法如何比setTimeout更好?它不一定更好——它只是一种替代方法,可能更简洁。实际上,我试图从概念上理解这一点。这就是为什么你可以详细说明你说的更简洁是什么意思,以及你将如何设置一个setTimeout示例并与你的示例进行比较。其他人已经发布了很好的setTimeout示例,所以我只想展示一个替代方案。简明扼要,我的意思是它可能更短,因为您不需要创建或清除单独的计时器。