2

フルスクリーンの背景を持つウェブサイトを作りたいです。アイデアは、マウスの位置 (アニメーションのページ開始の左側、アニメーションのページ終了の右側) に従って、イメージ シーケンスが再生されるということです。マウスを左右に動かすと、画像シーケンスがタイムラインのように前後に再生されます。

HTML でエリア マッピングを使用してこれを構築しようとしましたが、240 のマップを作成する必要があるだけで、座標がめちゃくちゃになっています (フルスクリーン/ブラウザー)。jqueryで作成する方がはるかに簡単であることは知っていますが、開始方法がわかりません。

誰でも私が始めるのを手伝ってくれますか? 少し早いですがお礼を!

4

1 に答える 1

1

jsFiddle デモ

CSS をいじって、全画面表示にします。

HTML:

<div id="mmGallery_container">
    <div id="mmGallery">
        // images here
    </div>
</div>

jQuery:

$(window).load(function(){
    // roXon mmGallery   
    MouseRelXpos = 0;  
    sumW = 0;
    
    // auto-SET mmGallery_container WIDTH ()
    $('#mmGallery img').each(function(){
        sumW += $(this).width(); // collect all images widths
        $('#mmGallery').width(sumW);//SET gallery WIDTH!
    });        
    // Calculate 'compensation speed': width difference between the gallery container and the gallery
    wDiff1 = $('#mmGallery_container').width();
    wDiff2 = $('#mmGallery').width();
    wDiff = (wDiff2/wDiff1)-1;  //(-1 is for the already existant container width)        
    //#
    
    $("#mmGallery_container").mousemove(function(e) {
        MouseRelXpos = (e.pageX - this.offsetLeft); // = mouse pos. 'minus' offsetLeft of this element       
    });
        
    var xSlider = $("#mmGallery");     // cache
    var posX = 0;
    setInterval(function(){
        posX += (- MouseRelXpos - posX) / 14; // 14 = speed (higher val = slower animation)
        xSlider.css({marginLeft:  Math.round(posX * wDiff) +'px' }); // instead 'marginLeft' use 'left' for absolute pos. #mmGallery
    }, 10); // 10 = loop timeout
});
于 2012-05-12T14:31:01.697 に答える