使隐藏元素显示 X 秒
Make hidden element appear for X seconds
我只是在单击按钮后尝试显示隐藏元素 X 秒。我能够让它出现,但不要让它在 X 秒后再次消失。我用delay(X)
试过了,但没有任何反应。
$("#mybutton").on(
"click",
function() {
$("#test").css("visibility", "visible");
$("#test").delay(1000).css("visibility", "hidden");
}
);
#test {
visibility: hidden;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
float: top;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="http://www.jqueryscript.net/images/Minimal-jQuery-Loading-Overlay-Spinner-Plugin-Easy-Overlay.jpg">
<div id="mybutton">
Button
</div>
JSFIDDLE: https://jsfiddle.net/75sttmxj/
尝试在此上下文中使用setTimeout()
,
setTimeout(() => { $("#test").css("visibility", "hidden"); }, 1000 * 1000);
由于.delay()
只能延迟动画队列。
演示
如果您不想使用arrow function
来执行此操作,那么您可以简单地使用如下所示的普通anonymous function
,
setTimeout(function(){ $("#test").css("visibility", "hidden"); }, 1000);
.delay()
.delay() 方法允许我们 以延迟队列中跟随它的函数的执行。它 可与标准效果队列或自定义队列一起使用。 只有队列中的后续事件才会延迟;例如,这将 不延迟 .show() 或 .hide() 的无参数形式,它们不会 使用效果队列。
所以你可以使用,例如淡入淡出:-
$("#mybutton").on("click", function() {
$("#test").fadeIn().delay(1000).fadeOut();
});
#test {
display: none;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="https://jsfiddle.net/img/logo.png">
<div id="mybutton">
button
</div>
或创建自定义队列:-
$("#mybutton").on("click", function() {
$("#test").queue(function() {
$(this).css("visibility", "visible").dequeue();
})
.delay(1000)
.queue(function() {
$(this).css("visibility", "hidden").dequeue();
});
});
#test {
visibility: hidden;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="https://jsfiddle.net/img/logo.png">
<div id="mybutton">
button
</div>
尝试对不透明度进行动画处理:
$("#mybutton").on(
"click",
function() {
$("#test").animate({
"opacity": 1
}).delay(1000).animate({
opacity: 0
});
}
);
#test {
opacity: 0;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
float: top;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="http://www.jqueryscript.net/images/Minimal-jQuery-Loading-Overlay-Spinner-Plugin-Easy-Overlay.jpg">
<div id="mybutton">
Button
</div>
与上述答案相同,但随后被所有浏览器支持
$("#mybutton").on
(
"click",
function()
{
$("#test").css("visibility","visible");
setTimeout(function ()
{
$("#test").css("visibility", "hidden");
}, 1 * 1000);
}
);
#test {
visibility: hidden;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="http://www.jqueryscript.net/images/Minimal-jQuery-Loading-Overlay-Spinner-Plugin-Easy-Overlay.jpg">
<div id="mybutton">
button
</div>
$(document).ready(function () {
$("#mybutton").on( "click", function() {
console.log('---------');
$("#test").css("visibility", "visible");
setTimeout(function () {
$("#test").css("visibility", "hidden");
}, 1000);
});
});
#test {
visibility:hidden;
}
#mybutton:hover {
cursor: pointer;
}
#mybutton {
border: 1px solid black;
background-color: gray;
float: top;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="test" src="http://www.jqueryscript.net/images/Minimal-jQuery-Loading-Overlay-Spinner-Plugin-Easy-Overlay.jpg" />
<div id="mybutton">
Button
</div>
试试这个代码:
更多参考
相关文章:
- javascript来显示元素属性
- 使用JavaScript或jQuery隐藏和显示元素
- 如何在Angular JS中滚动显示元素
- 如何在使用jQuery应用display:none后正确显示元素
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- jQuery单击并显示元素列表
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在CSS转换期间显示元素的大小值
- 当我们关注jQuery时,只显示元素
- 包含方法和突出显示元素的问题
- JS/JQuery隐藏元素,更改文本,显示元素
- 如何显示元素的一部分,并在单击时切换到所有元素
- 在隐藏元素中显示元素
- 当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素
- 在mouseover上显示元素在mouseleave上隐藏
- jquery显示元素是否具有类和特定值的内容
- 不能在复选框旁边显示元素
- 动态显示元素上的JavaScript触摸端;不要开火
- 点击JQuery/HTML5显示元素的索引/位置
- AngularJS:如何默认显示元素,并在按下按钮时切换