0

したがって、背景画像との視差を持たせるには、ウェブサイトのセクションが必要です。問題は、コードがウェブサイトの最初から視差を計算することです (長いスクロールダウン タイプのウェブサイトです)。X数のピクセルがスクロールされた後に視差が始まるように、コードに何らかの「遅延」が必要ですか? ここにコード:

Jクエリ:

$(document).ready(function() {
    // Cache the Window object
    $window = $(window);

    $('section[data-type="background"]').each(function() {
        var $bgobj = $(this); // assigning the object

        $(window).scroll(function() {

            // Scroll the background at var speed
            // the yPos is a negative value because we're scrolling it UP!                              
            var yPos = -($window.scrollTop() / $bgobj.data('speed'));

            // Put together our final background position
            var coords = '50% ' + yPos + 'px';

            // Move the background
            $bgobj.css({
                backgroundPosition: coords
            });
        }); // window scroll Ends
    });
});

HTML:

<section id="background" data-type="background" data-speed="5">
    <div class="container">
        <div class="shadow-block"><img src="images/shadow-b.png" alt="" class="scale-with-grid"/></div>
            <div class="quote two-thirds column" >  
            </div>
            </div>
</section>

CSS:

#background {
    background: url(../images/big-bg.jpg)no-repeat center center;
    background-size:cover;
    width: 100%;
    height:500px;
    padding: 40px 0;
    overflow: hidden;
    position: relative;
}
4

3 に答える 3

0

このようなことはできませんか?

var Top = $(document).scrollTop();
    if(Top < 200){ 
    //Then do the parallax stuff...
}
于 2013-11-07T17:02:35.257 に答える