gpt4 book ai didi

javascript - 使用 JavaScript 制作随机名称生成器

转载 作者:行者123 更新时间:2023-12-02 17:50:16 25 4
gpt4 key购买 nike

我正在阅读其他人在 Reddit 上发布的网站上的代码,他们创建了一个随机名称生成器。除了选择验证之外,我了解大部分正在发生的事情。这是网站的链接。 http://saturdaykid.com/usernames/generator.html 。我对 JavaScript 还很陌生,但这个网站让我很好地了解了如何在网站中使用 JavaScript。

我不明白 if 语句中发生了什么。在标记中,我没有看到选择元素或选项元素的类名称。所以基本上,我不明白 if 语句是 if (!selectedAdj) 验证此元素的值是否为 null?如果标记中最初没有类名,为什么它要创建类名?

if (!selectedAdj) {
var adj = document.getElementById("adjective");
adj.className = "notSelected";
return false;
} else {
var adj = document.getElementById("adjective");
adj.className = "";
}

这是整个函数

// Ensures the user has chosen an adjective and a noun    
var validate = function() {
var adjectives = document.getElementById("adjective");
var selectedAdj = adjectives.options[adjectives.selectedIndex].value;
if (!selectedAdj) {
var adj = document.getElementById("adjective");
adj.className = "notSelected";
return false;
} else {
var adj = document.getElementById("adjective");
adj.className = "";
}
var nouns = document.getElementById("noun");
var selectedNoun = nouns.options[nouns.selectedIndex].value;
if (!selectedNoun) {
var noun = document.getElementById("noun");
noun.className = "notSelected";
return false;
} else {
var noun = document.getElementById("noun");
noun.className = "";
}
generator(selectedAdj, selectedNoun);
};

最佳答案

"if (!selectedAdj)verifying if the value of this element is null?"

-是的。当选项:value=""选择时,这是非传递性 javascript。

"why does it create a className if there is none originally in the markup?"

-创建 -> 分配 className(请参阅 http://saturdaykid.com/usernames/stylin.css 的 .notSelected CSS 选择器)以允许过渡效果。

he wrote the .notSelected class in his css and he's using javascript to assign a className if the (!selectedAdj) is true?

当登陆此页面的人点击“生成您的名字”但没有选择任何内容时,“验证”函数将首先检查“形容词”并将此类分配给它,然后返回 false 以退出函数本身。如果“形容词”被分配,则 className 将被分配“”值,空分配的结果将继承 css 选择器返回到该对象(stylin.css 中的“.select”)。 “名词”也是如此。如果两个值都被选择,接下来将调用“生成器”函数

关于javascript - 使用 JavaScript 制作随机名称生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21425263/

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