我将如何使用 html 和 javascript 将这种情况放入代码中?
如果加载屏幕后的时间小于 10 秒启用显示输入字段的 css 代码,否则如果加载屏幕后的时间大于 10 秒,禁用显示输入字段的 css 代码?
基本上我想显示和输入字段十秒钟然后让它消失。
我将如何使用 html 和 javascript 将这种情况放入代码中?
如果加载屏幕后的时间小于 10 秒启用显示输入字段的 css 代码,否则如果加载屏幕后的时间大于 10 秒,禁用显示输入字段的 css 代码?
基本上我想显示和输入字段十秒钟然后让它消失。
目前还不清楚您实际上想要做什么,但我猜您希望在用户到达页面后的前 10 秒内应用一些 CSS,然后在此之后关闭。
一种简单的方法是从body
元素上的类开始:
<body class="first10">
...然后在文档末尾添加此脚本:
<script>
setTimeout(function() {
document.body.className = ""; // removes the class
}, 10000); // 10000ms = 10 seconds
</script>
setTimeout
调度一个函数在延迟后由 JavaScript 引擎运行,延迟以毫秒为单位。在这种情况下,我们的函数会从body
. 如果您body
可能想要保留其他类,则必须做一些稍微复杂的事情:
document.body.className = document.body.className.replace(/\bfirst10\b/, '');
或者同时拥有 "first10" 和 "notfirst10" 类可能更方便:
<script>
setTimeout(function() {
document.body.className =
document.body.className.replace(/\bfirst10\b/, '') +
" notfirst10";
}, 10000); // 10000ms = 10 seconds
</script>
您希望在前 10 秒内应用的 CSS 规则将定义如下:
body.first10 /* further selectors here */ {
/* ...rules here... */
}
例如,这会将文本转换为蓝色<p>
类元素,但仅限于前 10 秒:foo
body.first10 p.foo {
color: blue;
}
id
"banner"
同样,这将仅在前 10 秒显示带有 的横幅:
body.notfirst10 #banner {
display: none;
}
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>First 10 seconds...</title>
<style>
#banner {
background-color: blue;
color: white;
font-weight: bold;
}
body.first10 p.foo {
color: blue;
}
body.notfirst10 #banner {
display: none;
}
</style>
</head>
<body class="first10">
<div id="banner">This is the banner</div>
<p class="foo">This is a 'foo' paragraph</p>
<p>This is not a 'foo' paragraph</p>
<script>
setTimeout(function() {
document.body.className =
document.body.className.replace(/\bfirst10\b/, '') +
" notfirst10";
}, 10000); // 10000ms = 10 seconds
</script>
</body>
</html>