【发布时间】:2015-01-30 09:11:02
【问题描述】:
[注意:我想用 javascript 来做]
我想获得一个 javascript,以便用户只能看到 "content-one" 或 "content-two" 或 "content-three" 。简单地说,完整的窗口将是红色或绿色或蓝色。当浏览器打开时,全屏显示为红色。向下滚动时,它将是绿色,然后是蓝色。另一方面,当用户向上滚动时,它将是绿色然后是红色。 [注意:在整个过程中不会出现组合背景色]。你能帮我做这件事吗?这是我目前正在尝试的代码:
< script >
function scrollfunction() {
h1 = document.getElementById("content-one").offsetHeight;
h2 = document.getElementById("content-two").offsetHeight;
h3 = document.getElementById("content-three").offsetHeight;
hs = document.body.scrollTop;
var hb = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
if ((hs + hb) > h1) {
vall = (hs + hb);
window.scrollTo(0, vall);
}
} < /script>
body,
html {
height: 100%;
}
<body onscroll="scrollFunction()">
<div id="content-one" style="width:100%; background:red; height:100%;"></div>
<div id="content-two" style="width:100%; background:green; height:200%;"></div>
<div id="content-three" style="width:100%; background:blue; height:300%;"></div>
</body>
【问题讨论】:
-
我已将脚本放入 sn-p 中以便我们可以轻松查看...请添加一些 CSS,因为这不会按原样执行任何操作。
-
它只显示3种背景颜色。如果你在 html 文件中运行上面的 htm,你会看到这些颜色。
-
身高:100% 没有=没有。所以你可能想解决这个问题。
-
高度:100% 表示整个窗口/车身高度。请在一个html文件中运行它,你会看到它。
-
所有内部 div 的高度是否相同或可能不同?
标签: javascript