2011-11-10 7 views
3

jqueryのオーバースクロール+ドラッグ可能な項目

<div class="stories"> 
    <div class="story">       
     <div class=".."> 
      <img alt="" class=".."> 
     </div> 
     <div class="dragger"></div> 
    <div> 

    <div class="story"> 
     ... 
     <div class="dragger"></div> 
    </div> 
</div> 

「ドラッガー」は要素であるあなたは、このjqueryのコードをページの「物語」ブロックをドラッグすることができます:

$('.dragger').mousedown(function(e){ 
    $(this).parent().draggable({ 
     disabled: false, opacity: 0.5, zIndex: 2700, revert: true, 
     stop: function() { $(this).draggable({ disabled: true }) } 
}) 

この「ストーリー」要素をオーバースクロール領域に入れるまでは、非常に効果的です。私は「ドラッガー」である小さな領域のほかにどこでも「クリックアンドドラッグ」を管理するとスクロールしたいと思う。だから例えば。私が物語の上にマウスをかけたとき、私はスクロールしたい。私は「.dragger」パラメータで「cancelOn」パラメータを使用しようとしましたが、スクロールがブロックされていますが(理由はわかりません)「ストーリー」アイテムもドラッグできませんページ上にここで

は物語が置かれている 『上』 div要素である「.scheduled」「オーバースクロール」

$(".scheduled").overscroll({ 
    direction: 'horizontal', 
    wheelDirection: 'horizontal', 
    wheelDelta: 80, 
    cancelOn: ".dragger" 
}); 

のコードです。アイデアはありますか?

よろしく、 galsan

答えて

4

あなたがcancelOnを使用すると、イベントがバブルアップされないことがあり、それはドラッグ破壊することができます。ドラッグしたい要素がクリックされると、オーバースクロールを一時的に無効にしてください(removeOverscrollを使用)。ドラッグが終了すると、プラグインを再度有効にすることができます。

+0

お返事ありがとうございます。私は無効にする/無効にするoverscrollを使用してこのトリックを試みたが、無効にした後にデフォルト(灰色のウィンドウのような)スクロールバーが表示されるので、私はこの解決策を拒否した。しかし、私はもう一度いくつかの変更を加えて試してみます。 Thx – galsan

+0

あなたはこの作品を作る方法を考え出しましたか?私は同様の問題に対する解決策を探しています。 –

関連する問題