我一直在尝试做类似的事情,并且尝试了来自假滚动条和DOM触发代码的各种方法。似乎没有什么比我需要的干净/有效。

我想做的是有一个水平滚动的div(带有滚动条),其中嵌套了一个垂直滚动的div。理想情况下,单个水平滚动条将滚动,并在某个点之后-垂直滚动其旁边的“向上” div。

这是需要可视化的人的示例图:

我认为我有一个可行的解决方案:

基本上,我认为水平“场景”可能会溢出,等于“向上” div的高度。然后,在通过“场景”的水平宽度之后,您可以onScroll,使用(ScrollLeft)向右移动“ go-up”容器,然后使用(ScrollTop)向上移动“ go-up”容器。

基本上给您一种用水平滚动条控制垂直滚动的幻觉。

在此处查看代码:http://jsfiddle.net/jPzqj/1/

我知道如何在“场景”的末尾传递一个函数...当前我正在使用:

$('#main').scroll(function(e)
    {
        if($(this).scrollLeft()>1430)
        {

        }
});


我唯一的问题是我不太确定如何进行数学运算,从而无法移动上升容器。如何将“ scene” div滚动值传递到“ go-up”的ScrollLeft和ScrollTop值中...

有人可以给我任何建议吗?

谢谢。

最佳答案

您完全走错了路,不涉及垂直滚动条。

那是一个很好的网站(显然不是您在30分钟内制作的网站),并且使javascript变得模糊不清,但是如果您有兴趣,可以使用Firebug观看源代码,以了解发生了什么。

它通过混合一个javascript库,一些很酷的CSS3 Transform3D效果和一个经过精心研究的HTML来工作,以使您获得屏幕向上滚动的效果(实际上,只有图像在移动,而屏幕在滚动而不滚动)。始终处于相同的Y位置)。

通过在背景中比在前的房屋移动得慢,可以使用相同的效果来产生深度感。

此效果称为PARALLAX SCROLLING

您可以开始查看视差效果的优质javascript库是Stellar.js

您可以看一下用Stellar.js制成的some great sites,尤其是NikeSaucony

希望这个答案为您节省了一些时间,

祝您学习顺利;)



编辑

这就是您想要的:Jquery Parallax Scrolling effect - Multi directional

从获得赏金的答案中打开小提琴,然后按住向右箭头键。

07-28 02:26
查看更多