Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 及时单击或隐藏段落_Jquery - Fatal编程技术网

Jquery 及时单击或隐藏段落

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

我在一页上有一段。如果用户单击它,它将隐藏。如果在6秒内没有点击,它会隐藏自己

$("#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示例,所以我只想展示一个替代方案。简明扼要,我的意思是它可能更短,因为您不需要创建或清除单独的计时器。