【发布时间】:2014-09-10 21:51:59
【问题描述】:
使用这个现有的 codepen (http://codepen.io/anon/pen/fDqdJ)。我想添加另一个语句,即在距页面顶部一定距离处,一个已经动画的 div 然后在移动时改变比例。
在语法和增加滚动上动画 div 的比例方面真的很挣扎。我猜我需要使用 css 转换,但需要一些帮助!
js 示例见下:
var $window = $(window);
var $box = $("#box");
$window.scroll(function() {
var scrollTop = $window.scrollTop();
console.log(scrollTop);
if (scrollTop >= 250 && scrollTop < 400) {
$box.css({top: -250 + scrollTop});
} else if(scrollTop >= 400 && scrollTop < 460) {
$box.css({left: (10+(scrollTop-400)/2)+"%"})
} else if(scrollTop >= 460 && scrollTop < 580) {
$box.css({top: (50+(scrollTop-460)/2)+"%"})
} else if(scrollTop >= 580 && scrollTop < 620) {
$box.css('transform', 'scale(' + whateverTheScaleShouldBe + ')');
}
});
这里是html结构-
<div class="wrapper">
<div class="row" id="row1">
</div>
<div class="row" id="row2">
<div id="box"></div>
</div>
<div class="row" id="row3">
</div>
<div class="row" id="row4">
</div>
</div>
非常感谢任何帮助! :)
J
【问题讨论】:
-
你有什么问题?你会影响
transform比例,就像你会影响javascript 中的任何属性一样。至于缩放它,transform的值是scale,您可以像这样使用:transform:scale(.5),这将使元素大小变为原来的一半 -
感谢回复,我想使用 transform:scale 让缩放值根据滚动高度慢慢减小
-
那你有什么问题?
-
“正在使用这个现有的 codepen”...但是 在哪里 codepen?
-
我正在努力解决如何根据滚动来改变变换比例图 - $box.css({transform:scale(1.1)}) - 所以我相信需要一些而不是 1.1基于滚动计算比例递减一个点的逻辑。
标签: javascript jquery html css transform