反向滚动

时间:2013-12-25 19:21:41

标签: javascript jquery css3 scroll

我无法找到我想要完成的解决方案。我正在尝试使用JS(或其他库)来实现它,以便当用户在鼠标滚轮上向下滚动时,页面的滚动方式与通常相反。

基本上,我希望首先看到页面底部,当用户滚动时,我希望屏幕顶部进入视图。我能找到的唯一例子是http://conduit.com/的右栏。

我已经设置了一个JSFiddle http://jsfiddle.net/5UUtV/,其中有一个示例来帮助可视化它。我知道这可能与某些事情有关:

window.scrolltop();
但老实说,我不确定最好的方法。

我希望首先看到标有“1”的面板,其余部分在用户滚动时进入视图。

非常感谢任何关于如何做到这一点的想法。

由于

1 个答案:

答案 0 :(得分:13)

这是解决方案 - http://jsfiddle.net/5UUtV/1/

JS

var winHeight = $(window).innerHeight();
$(document).ready(function () {
    $(".panel").height(winHeight);
    $("body").height(winHeight*$(".panel").length);
});

window.addEventListener('resize', function (event) {
    $(".panel").height($(window).innerHeight());
});
$(window).on('scroll',function(){
    $(".panelCon").css('bottom',$(window).scrollTop()*-1);
});

HTML

<body>
    <div class="panelCon"> 
    <div id="pane-5" class="panel">
        <h1>5</h1>
    </div>
    <div id="pane-4"class="panel">
        <h1>4</h1>
    </div>
    <div id="pane-3"class="panel">
        <h1>3</h1>
    </div>
    <div id="pane-2" class="panel">
        <h1>2</h1>
    </div>
    <div id="pane-1" class="panel">
        <h1>1</h1>
    </div>
    </div>
</body>

CSS

body {
    margin: 0;
    padding: 0;
}
.panelCon{
    position: fixed;
    bottom: 0;
    left:0;
    width: 100%;
}
.panel {
    width: 100%;
}
.panel h1 {
    width: 100px;
    position: relative;
    display: block;
    margin: 0 auto;
    text-align: center;
    top: 50%;
}
#pane-1 {
    background-color: green;
}
#pane-2 {
    background-color: red;
}
#pane-3 {
    background-color: white;
}
#pane-4 {
    background-color: pink;
}
#pane-5 {
    background-color: yellow;
}