首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像视差滚动不平滑

图像视差滚动不平滑
EN

Stack Overflow用户
提问于 2012-12-16 06:52:36
回答 1查看 2.3K关注 0票数 3

我试图创建一个非常简单的视差滚动效果,只是jQuery,CSS和一个图像,但问题是,它不是很平滑和非常急转直下。

我的目标是当用户向下滚动页面时,让图像从页面的右上角移动到左下角。

我需要一些帮助来实现和更抛光的页面,但无论是修复我现有的js或如果你知道如何实现一个视差插件,那就更好了。

如果有必要,我可以发送所有需要的文件。

下面是我当前的代码:

Javascript:

代码语言: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

代码语言:javascript
复制
 <div id="slash-1"><img src="img/slash.png"></div>

CSS

代码语言:javascript
复制
#slash-1 { position: absolute; top: 300px; left: 960px; }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-16 21:52:48

我找到了一个解决方案,通过使用这个javascript解决了这个问题。

代码语言:javascript
复制
$(window).scroll(function() {
var distance = $(this).scrollTop();
$('#slash-1').css({
    'top': (distance*2) + 'px',
    'right': '+' + distance + 'px'
});
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13896934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档