视差滚动问题(JQuery)

时间:2014-01-29 16:45:53

标签: javascript jquery parallax

使用以下plugin,我正在构建一个简单的视差原型。

到目前为止,我得到了这个:

HTML

<div id="one" class="js-background-1 color"> 
    <div class="box">
        <h2>Italian breakfast</h2>
        <p>bla bla</p>
    </div> 
</div>

<div id="two" class="js-background-1 color"> 
    <div class="box">
        <h2>German breakfast</h2>
        <p>bla bla</p>
    </div> 
</div> 

<div id="three" class="js-background-1 color"> 
    <div class="box">
        <h2>Box-2</h2>
        <p>bla bla</p> 
    </div>
</div>   

JS

$(document).ready(function () {

    $('.color').each(function(i) {
        var position = $(this).position(),
            positionSLider = $('.slidingPannel').position();
        $(this).scrollspy({
            min: position.top,
            max: position.top + $(this).height(),
            onEnter: function(element, position) {
                console.log('box sliding in from the right');
            },
            onLeave: function(element, position) {
                console.log('box sliding out');
            }
        });
    });
});

CSS

body{margin:0}

.color{
    z-index:9999;
}

#one{
    background: url(breakfast.jpg) 50% 0 no-repeat fixed;
    color: white;
    height: 1300px;
    margin: 0;
}

#two{
    background: url(http://120dollarsfoodchallenge.files.wordpress.com/2011/02/pancakeshortstack.jpg) 50% 20% no-repeat fixed;
    color: white;
    height: 1300px;
    margin: 0;
    padding: 160px 0 0 0;
}

#three{
    background: url(http://yourstudentbody.com/wp-content/uploads/2013/01/Athlete_-porridge-healthy-breakfast.jpg) 50% 50% no-repeat fixed;
    color: white;
    height: 1300px;
    margin: 0;
    padding: 160px 0 0 0;
}

.color{
    border-top:2px solid #030;
}

h2{
    margin:0;
}

p{
    margin-top:10px;
}

.box{
    width:400px;
    text-align:center;
    background-color:#CCC;
    opacity:0.8;
    margin:12% auto 0;
    color:#000;
    font:arial;
    padding:10px 20px;
}

除此之外,我想为每张幻灯片添加一个从右侧滑动的面板。

所以:

  • 新幻灯片
  • 右侧的面板滑入
  • 幻灯片与面板一起消失,面板将与下一张幻灯片一起滑入

我对右侧面板的意思是here

这个问题是,当我滑到第二个时,我仍然有'console.log('框从右边滑入');'这只会在第二张幻灯片触及顶部之前消失。

在幻灯片到达顶部之前,有没有办法让右边的面板显示一点?

1 个答案:

答案 0 :(得分:0)

我建议使用像Skrollr.js这样的JavaScript库。

您可以很好地控制动画,最重要的是时间。

查看我们的这两个教程,开始使用Skrollr: