2012-03-26 17 views
0

jqueryプラグインsmoothdivscrollに関する問題はほとんどありません。基本的にスムーズdivスクロール - スクロールマウスの右スクロール

、私は、このページとして実行するプラグインを取得しようとしている:http://www.smoothdivscroll.com/demo.html

ですが、自動的にスクロールが、ホットスポットは、同様に動作することができますが、元に戻す必要があるとして、しかし、私は、JavaScriptを変更していますホットスポットを離れるマウスを自動的にスクロールします。

以下のコードは機能しますが、右にトリガを置いた後、最初のdivにリセットされます。

設定位置からのスクロールを再開する方法はありますか?

コード:

// Initialize the plugin with no custom options 
    $(document).ready(function() { 
     // I just set some of the options 
     $("div#makeMeScrollable").smoothDivScroll({ 
     mousewheelScrolling: true, 
     visibleHotSpotBackgrounds: "always", 
     autoScrollingMode: "endlessright" 
     }); 


    }); 
    //This is just to make the scroller pause... 
    $("#makeMeScrollable").bind("mouseover", function() { 
    $(this).smoothDivScroll("stopAutoScrolling"); 
    }).bind("mouseout", function() { 
    $(this).smoothDivScroll("startAutoScrolling"); 
}); 

答えて

2

これはあなたの問題を引き起こすものであるかどうかは知りませんが、括弧に注意を払う必要があります。このコードを次のように変更してください:

私はこのコードをテストしていませんが、私が誤植をしていない限り、正しい方法です。

幸運を祈る!

+0

おかげで、それはまだ、再び第一に、DIVのリセット狂います。きちんとした構文は常に良いです。 –

+0

私は、これが対処されなければならないバグである場合に、これを見るのが好きです。テストページへのURLはありますか? – tkahn

+0

http://www.vettacreative.co.uk/scroll/左のホットスポットも同様に使用すると、私の意味がわかります。ありがとう –

0

オプションが正しくないことがわかりました。これを試してみてください(あなたはバージョン1.2で、最新バージョンを使用している場合):

// Initialize the scroller 
    $("#makeMeScrollable").smoothDivScroll({ 
    mousewheelScrolling: true, 
    visibleHotSpotBackgrounds: "always", 
    autoScrollingMode: "onstart", 
    autoScrollingDirection: "endlessloopright", 
    manualContinuousScrolling: true 
    }); 

がロード右ときに、この構成ではスクロールがenslessループに自動スクロールされます。ユーザーがマウスホイールまたはホットスポットを使用するとすぐに、自動スクロールが停止し、カスタムイベントハンドラの場合は自動スクロールが再開されません。しかし、あなたがそれらを持っているので、ユーザーがscollable領域を離れるとすぐにそれは再び開始する必要があります。

また、私はmanualContinuousScrollingをtrueに設定しているので、手動でスクロールするときに同じ無限ループが発生します。

これはテストされていないため、調整が必要な場合があります。たとえば、autoScrollingMode: "onstart"かautoScrollingMode: "always"が最適な選択肢かどうかはわかりません。あなたは試してみる必要があります。

0

異なるバージョンが動作に影響する可能性があることも重要と考えています。 これは私のjquery.smoothDivScroll-1.1-min.jsバージョンで動作しました。

注意関数名の違い:stopAutoScroll対stopAutoScrollingなど

$(window).load(function() { 
    $("#makeMeScrollable").smoothDivScroll({ 
     autoScroll: "always", 
     autoScrollDirection: "backandforth", 
     autoScrollStep: 1, 
     autoScrollInterval: 25, 
     startAtElementId: "startAtMe" 
    }); 

    //This is just to make the scroller pause... 
    $("#makeMeScrollable").bind("mouseover", function() { 
     $(this).smoothDivScroll("stopAutoScroll"); 
     }).bind("mouseout", function() { 
     $(this).smoothDivScroll("startAutoScroll"); 
    }); 
}); 
関連する問題