我得到JS如下。我想bootstrap alerts在 1 秒后全部消失。它只是有效,one time但是當我添加更多警報時,它們會保持原樣。那是什么原因呢?
$(document).ready(function () {
function flashh(message, category) {
if (category == "error") {
var icon = "icon-exclamation-sign";
category = "danger";
} else if (category == "success") var icon = "icon-ok-sign";
else var icon = "icon-info-sign";
$(
'<div hljs-string">'"><i hljs-string">'"></i> <a data-dismiss="alert">×</a>'
message
"</div>"
).prependTo("#putFlashMsg");
}
});
設定超時:
$(document).ready(function () {
window.setTimeout(function () {
$(".alert")
.fadeTo(1000, 0)
.slideUp(1000, function () {
$(this).remove();
});
}, 5000);
});
uj5u.com熱心網友回復:
那是因為setTimeout只被呼叫一次。如果您想進行多次呼叫,請使用setInterval,它的使用方式完全相同,但會一直呼叫直到clearTimeout停止。
uj5u.com熱心網友回復:
setTimeout 只運行一次,您正在尋找的是 setInterval,它每 n 秒運行一次直到停止。
$(document).ready(function () {
window.setInterval(function () {
$(".alert")
.fadeTo(1000, 0)
.slideUp(1000, function () {
$(this).remove();
});
}, 5000);
});
uj5u.com熱心網友回復:
每當您添加警報時,您還應該創建一個新的setTimeout; setTimeout應該在“flashh”功能中。
function flashh(message, category) {
if (category == "error") {
var icon = "icon-exclamation-sign";
category = "danger";
} else if (category == "success") var icon = "icon-ok-sign";
else var icon = "icon-info-sign";
var alert = $(
'<div hljs-string">'"><i hljs-string">'"></i> <a data-dismiss="alert">×</a>'
message
"</div>"
)
window.setTimeout(function () {
alert
.fadeTo(1000, 0)
.slideUp(1000, function () {
$(this).remove();
});
}, 5000);
alert.prependTo("#putFlashMsg");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/388584.html
標籤:javascript html
上一篇:創建搜索結果陣列
