gpt4 book ai didi

javascript - Skrollr 和相对模式无法工作

转载 作者:行者123 更新时间:2023-11-30 08:50:35 26 4
gpt4 key购买 nike

我正在尝试使用 skrollr 库 ( https://github.com/Prinzhorn/skrollr ) 来创建我认为它是一个简单的功能,这意味着当 bottom-top 属性被触发时(当顶部在底部视口(viewport)上方 25px 时) 不透明度将为 0,然后随着用户进一步向下滚动,当元素的底部在底部视口(viewport)上方 25px 时,不透明度将增加到 1。

但是,当我加载 html 文件时,它在控制台中声明所有元素要么是 skrollable-after 要么是 skrollable-between,而对于后面的两个元素肯定不是这种情况(至少当视口(viewport)模糊时)后两个元素)。最后一个元素被声明为可滚动,但实际上它远低于视口(viewport)底部。

我确实认为这可能是加载各种 Assets 的问题,但 s.refresh() 并没有改变任何东西(至少在我使用它的方式上)。

HTML如下,skrollr.js是Github上最新的源文件(0.6.11)。

任何指导将不胜感激。

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="skrollr.js"></script>
</head>
<body>
<div class="column"><p>Column 1</p>
</div>

<div class="column"><p>Column 2</p>

<div class="imp-text-one" data--25-bottom-top="opacity: 0;" data--25-bottom-bottom="opacity: 1">This is important text</div>

<div class="placeholder"></div>

<div class="imp-text-two" data--25-bottom-top="opacity: 0;" data--25-bottom-bottom="opacity: 1">This is also important text</div>

<div class="placeholder"></div>

<div class="imp-text-three" data--25-bottom-top="opacity: 0;" data--25-bottom-bottom:"opacity: 1">
This is VERY important text</div>

</div>

<script type="text/javascript">
s = skrollr.init();
</script>
<script>
window.onload = function(){
s.refresh();
}
</script>
</body>
</html>

CSS 如下:

.column {
width: 50%;
float: left;
}

body {
margin: 0;
padding: 0;
}

.imp-text-one {
padding: 50px 10px 50px 10px;
border-style: solid;
}

.imp-text-two {
padding: 50px 10px 50px 10px;
border-style: solid;
}

.placeholder {
height: 400px;
}

.imp-text-three {
padding: 50px 10px 50px 10px;
border-style: solid;
}

最佳答案

data-[offset]-(viewport-anchor)-[element-anchor]而不是 data-[offset]-(element-anchor)-[viewport-anchor] .

例如,您的第一个元素有两个关键帧相对于视口(viewport)底部。但它从未接近底部!

正确:

<div class="imp-text-one" data--25-top-bottom="opacity: 0;" data--25-bottom-bottom="opacity: 1">This is important text</div>

<div class="placeholder"></div>

<div class="imp-text-two" data--25-top-bottom="opacity: 0;" data--25-bottom-bottom="opacity: 1">This is also important text</div>

<div class="placeholder"></div>

<div class="imp-text-three" data--25-top-bottom="opacity: 0;" data--25-bottom-bottom:"opacity: 1">
This is VERY important text</div>

编辑:您需要添加适当的文档类型,例如<!DOCTYPE html> .否则浏览器会切换到怪癖模式,skrollr 无法处理。

关于javascript - Skrollr 和相对模式无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204827/

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