我正在研究此导航栏,当bgColor为true时,需要将背景颜色更改为rgba(15,18,65,0.9)。
但是当bgColor不为true时,背景颜色需要更改。这可行,但是很快,所以我想延迟一下,但是由于某种原因,它不会返回字符串并更改背景颜色。
如果我用控制台记录颜色而不是返回颜色,则效果很好。那么我在这里误会了什么?它只需要延迟假色选项。
$(".navbar-dark")
.css("background-color", bgColor ? "rgba(15,18,65,0.9)" :
setTimeout(function(){return "rgba(15,18,65,0)";}, 1000)
);
答案 0 :(得分:1)
使用if
并将setTimeout()
放在else
块中
if (bgColor) {
$(".navbar-dark").css("background-color", "rgba(15,18,65,0.9)")
} else {
setTimeout(function () {
$(".navbar-dark").css("background-color", "rgba(15,18,65,0)");
}, 1000);
}
答案 1 :(得分:1)
像其他方法一样,您可以使用JQuery的delay()方法,如下所示:
if (bgColor)
$(".navbar-dark").css("background-color", "rgba(15,18,65,0.9)");
else
$(".navbar-dark").delay(1000).css("background-color", "rgba(15,18,65,0)");
答案 2 :(得分:0)
只需设置变量,然后以空白值返回函数即可:
$(".navbar-dark").css("background-color", bgColor ? "rgba(15,18,65,0.9)" :
setTimeout(function(){bgColor = "rgba(15,18,65,0)"; return;}, 1000)
);