我正在尝试创建一个非常简单的视差滚动效果,只需jQuery,CSS和图像,但问题是它不是很平滑且非常生涩。
我的目标是当用户向下滚动页面时,让图像从页面右上角移动到左下角。
我需要一些帮助来实现更精彩的页面,但要么修复我现有的js,要么你知道如何实现更好的视差插件。
如果有必要,我可以发送所有必需的文件。
这是我目前的代码:
使用Javascript:
$(document).scroll(function () {
var ratio = window.pageYOffset / ( $(document).height() - $(window).height()) ;
console.log( "scroll: " + window.pageYOffset + ", ratio: " + ratio );
$( '#slash-1' ).css( 'top', -160 + ( 4500 * ratio ) + 'px' );
$( '#slash-1' ).css( 'left', 960 - ( 960 * ( ratio ) ) + 'px' );
$( '#slash-2' ).css( 'top', -300 + ( 4500 * ratio ) + 'px' );
$( '#slash-2' ).css( 'left', 960 - ( 960 * ( ratio ) ) + 'px' );
});
HTML
<div id="slash-1"><img src="img/slash.png"></div>
CSS
#slash-1 { position: absolute; top: 300px; left: 960px; }
答案 0 :(得分:2)
我找到了一个解决方案,通过使用此javascript来解决问题
$(window).scroll(function() {
var distance = $(this).scrollTop();
$('#slash-1').css({
'top': (distance*2) + 'px',
'right': '+' + distance + 'px'
});
});