0

基本的に、私はこのページTHIS PAGEを見ました。上下にスクロールすると、スクロールバーの位置に応じて、一杯の飲み物がいっぱいになったり空になったりするのがわかります。これがどのように行われるか考えていますか?

4

2 に答える 2

2

そのようなことをするのはかなり複雑ですが、特に難しいことではありません。

まず、jQuery などを使用してこれを管理する必要があります。あなたはそれをすでにとてもよく理解しています...

以下の html は、ユーザーが画像を持っていることを前提とした実際の例です。 ここに画像の説明を入力

700 x 100 です。コードは非常に単純です。ウィンドウの scrollTop() 値を丸め、結果に基づいて右フレーム オフセットを計算します。完全に説明する必要はありません。以下のコードがすべてを表しています。

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Test</title>
    <meta name="viewport" content="width=device-width">
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<style>
#main{position:relative;}
.dummy{height:500px;}
#glass{
    height:200px;
    width:100px;
    background:url(http://www.hep-g.com/glass.jpg) no-repeat;
    background-position:0 0;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
    var frame = 0;
    $(window).scroll(function(){

        if($(window).scrollTop() % 100 < 10)
            frame = Math.floor($(window).scrollTop() / 100) * 100;

        if(frame > 700)
            frame = 700;

        $('#glass').css('background-position', '-' + frame + 'px 0');
    });

});
</script>
<body>
    <div id="main">
        <section class="dummy">
            This is dummy content
        </section>
        <section id="glass"></section>
        <section class="dummy">
            This is dummy content
        </section>
        <section class="dummy">
            This is dummy content
        </section>
    </div>
</body>
</html>
于 2012-10-05T21:30:34.593 に答える
2

実際には、背景の位置が変化する 1 つの画像です。ガラスを最初に見た時点で、イメージは完全に読み込まれています。

http://www.smokeybones.com/static/img/tv/beer_sprite_lrg.jpg?e3e4e50f54ea

于 2012-10-05T21:25:22.887 に答える