我正在尝试了解您如何使用 Skrollr 进行小的过渡和移动。
我想转换一个元素,然后将其移动到页面顶部。
HTML:
<div id="test" data-0="transform:scale(1)" data-1000="transform:scale(0.25); top:35%" data-1500="top: 0%"></div>
CSS:
#test {
background: red;
width: 25%;
height: 25%;
left: 35%;
margin: auto;
position: fixed;
}
JS:
window.onload = function() {
var s = skrollr.init({
render: function(data) {
document.querySelector('.scrollpos').innerHTML = data.curTop;
}
});
//s.refresh($('#test'));
}
如果我使用 transform-origin: 0 0,效果很好(顶部不变),但如果我使用默认值(transform-origin: 50% 50%),元素的顶部位置会发生变化,我需要使用顶部:-XX % 将元素放置在 0% 位置。
我认为解决方案是调用:
s.refresh($('#test'));
在我的代码中,正如我在代码(或 s.refresh())中评论的那样,但它不起作用,我的元素只在顶部附近移动一些像素。
我需要在其他地方或以不同的方式调用 refresh() 吗?
谢谢!
编辑:
示例 1 - 将一个元素移到顶部(没问题)
data-500 = top: 35% | data-1000 = top: 0%
http://cokeperez.com/stack1.html
示例 2 - 缩放元素并移动到顶部(元素不移动到顶部)
data-500 = top: 35%, scale: 1 | data-1000 = top: 0%, scale: 0.25
http://cokeperez.com/stack2.html
示例 3 - 缩放元素并移动到顶部调整值(不完美但有效)
data-500 = top: 35%, scale: 1 | data-1000 = top: -5%, scale: 0.25
(与stack3.html相同的链接,我不能发布超过2个链接)