gpt4 book ai didi

javascript - 每次用户尝试后刷新消息

转载 作者:行者123 更新时间:2023-11-28 19:08:44 24 4
gpt4 key购买 nike

我试图在每次用户输入内容并单击输入区域时弹出成功或失败消息。这是我目前拥有的:

function checkUsername() {
var username = document.getElementById("username").value;

if (username.length == 0) {
document.getElementById("username_message").className = "failure";
document.getElementById("username_message").innerHTML = "Username is too short.";
$("#username_message").fadeOut(3000);

} else {
document.getElementById("username_message").className = "success";
document.getElementById("username_message").innerHTML = "Valid!";
$("#username_message").fadeOut(3000);
}

就输入字段而言,我有以下内容:

<input type="text" id="username" onblur="checkUsername()" autofocus>

当我运行此代码并单击输入字段外时,会显示错误消息,但要显示任何其他消息,我必须刷新页面。输入字段当前位于表单内,所以我想知道如何每次都显示消息,而不必刷新页面?一旦一条消息显示,另一条消息就不会显示,除非我刷新。

最佳答案

jQuerys fadeOut 方法会将不透明度淡化为 0,然后在元素上设置 display:none。您需要“扭转”这一点。

因此将函数更改为:

function checkUsername() {
var username = document.getElementById("username").value;

if (username.length == 0) {
document.getElementById("username_message").className = "failure";
document.getElementById("username_message").innerHTML = "Username is too short.";

} else {
document.getElementById("username_message").className = "success";
document.getElementById("username_message").innerHTML = "Valid!";
}
$("#username_message").stop(true, true).show().fadeOut(3000);
}

.stop(true, true) 将立即使淡出结束,然后将不透明度设置回 1。使用 jsFiddle

关于javascript - 每次用户尝试后刷新消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com