2012-04-13 14 views
2

パネルを上下にスライドさせる機能があり、.mousedown.mouseupdraggableを使用していますが、いくつか問題があります。jQueryスライドをクリックして上下に移動

  1. ドラッグは、それの容器に上向きに行くことはありませんが、ポインタは、おそらくすべてが出てきたときに、それが行う運動に関連したドロップ(登録されます。

  2. スライドアウトパネルは、周囲の上でなければなりません。コンテンツの位置:絶対的な作品、それが占有すべきスペースを埋めるための末尾の単語の崩壊私はそれがインライン滞在する

[編集]をたいとhoverClassは、いずれかの活性化しない

動的ドロップ可能な機能の一部としてのCSSを設定する代わりにCSSを使用して、

とコード...ホバーCSSクラスの

$(function() { 
$('#word').mousedown(function(ev, ui) { 
    $("#save").slideDown(100); 
    $("#del").slideDown(100); 
});  
$('#word').mouseup(function(ev, ui) { 
    $("#save").slideUp(100); 
    $("#del").slideUp(100); 
});  
$('#word').draggable({ 
    containment: 'parent' 
    ,revert: true, revertDuration: 100 
}); 
$('#del').droppable({ 
    tolerance: 'pointer' 
    ,hoverClass: 'over' 
    ,drop: function() { 
     var vote = alert("Delete action goes here"); 
    } 
}); 
$('#save').droppable({ 
    tolerance: 'pointer' 
    ,hoverClass: 'over' 
    ,drop: function() { 
     var vote = alert("SAVE"); 
    } 
}); 
});​ 
+8

jsFiddleはデモ用に最適ですが、コードも質問に投稿する必要があります。そうしないと、リンクが悪くなったときにいつか他の人にはあまり役に立ちません。 – Sparky

答えて

2

(概説ワードは、メニュー・ワードです)クラス...

$('.del').droppable({ 
    tolerance: 'pointer' 
    ,hoverClass: 'over' 
    ,over: function() { 
     $(this).css('background-color', '#fff'); 
    } 
    ,drop: function() { 
     var vote = alert("Delete action goes here"); 
    } 
}); 

イベントでは、これでかなり良い結果が得られます。あなたがオプションを見るために最初に単語をクリックしなければならない場合(またはあなたはそれをマウスの上に移動することができます)。この方法では、ドラッグを開始するまでにdivが拡張されました。

$(function() { 
    $('#word').draggable({ 
     revert: true, revertDuration: 100 
    }); 
    $('#del').droppable({ 
     tolerance: 'pointer' 
     ,over: function() { 
      $(this).css('background-color', '#f88'); 
     } 
     ,drop: function() { 
      var vote = alert("Delete action goes here"); 
     } 
    }); 
    $('#save').droppable({ 
     tolerance: 'pointer' 
     ,over: function() { 
      $(this).css('background-color', '#8f8'); 
     } 
     ,drop: function() { 
      var vote = alert("SAVE"); 
     } 
    }); 

    $('#word').click(function(e, u){ 
     $("#save").slideDown(100); 
     $("#del").slideDown(100); 
    }); 

    $("#word").bind('dragstop', function(e, u){ 
     $("#save").slideUp(100); 
     $("#del").slideUp(100); 
    }); 
}); 
+0

もちろん、私は味に改造しました。私は近くにいたようでしたが、あなたの提案は最終的な結果をもたらしました:働くli'lポップアウトメニューhttp://jsfiddle.net/monsto/EGVLZ/11/ ...私はまだ上に飛び出しの問題がありますテキストは、私は別々にそれを扱うでしょう。ご協力いただきありがとうございます! – monsto

+1

素晴らしい。お役に立てて嬉しいです。 – Trent

関連する問題