Scroll Skrollr:平滑滚动
我想在转动鼠标滚轮时实现平滑滚动。目前,当我转一圈时,滚动条有点跳跃,动画有点跳跃 这种行为的例子: 只能使用skrollr实现此滚动吗?如果是,怎么做? 我尝试了以下代码Scroll Skrollr:平滑滚动,scroll,parallax,smooth,skrollr,Scroll,Parallax,Smooth,Skrollr,我想在转动鼠标滚轮时实现平滑滚动。目前,当我转一圈时,滚动条有点跳跃,动画有点跳跃 这种行为的例子: 只能使用skrollr实现此滚动吗?如果是,怎么做? 我尝试了以下代码 var s = skrollr.init({ render: function(data) { //Debugging - Log the current scroll position. console.log(data.curTop); },
var s = skrollr.init({
render: function(data) {
//Debugging - Log the current scroll position.
console.log(data.curTop);
},
smoothScrolling: true,
smoothScrollingDuration: 500,
easing: {
WTF: Math.random,
inverted: function(p) {
return 1-p;
}
}
});
但这没什么区别。动画稍微平滑一点(即背景滑动一段时间然后停止),但滚动本身仍然不稳定
我更愿意用skrollr解决这个问题,因为我认为它已经准备好了,而不是添加另一个插件。这是引用Petr Tichy(): 对于平滑动画,请设置廉价属性的动画 当你继续只制作廉价的CSS动画时,你会得到最好的效果 财产
- 变换:比例(1.2)
- 转换:translateX(100px)
- 变换:旋转(90度)
- 不透明度:0.5
尝试包含此脚本
jQuery(function () {
var $window = jQuery(window);
var scrollTime = 0.5;
var scrollDistance = 150;
$window.on("mousewheel DOMMouseScroll", function (event) {
event.preventDefault();
var delta = event.originalEvent.wheelDelta / 120 || -event.originalEvent.detail / 3;
var scrollTop = $window.scrollTop();
var finalScroll = scrollTop - parseInt(delta * scrollDistance);
TweenMax.to($window, scrollTime, {
scrollTo: {
y: finalScroll,
autoKill: true
},
ease: Power1.easeOut,
overwrite: 5
});
});
});
我也有这个问题(Mac上的Chrome)
我通过这个插件解决了:
$.srSmoothscroll();
这不适用于skrollr选项。
<!-- After jQuery -->
<script src="jquery.mousewheel.min.js"></script>
<script src="jquery.simplr.smoothscroll.min.js"></script>
<script type="text/javascript">$.srSmoothscroll();</script>