5

ユーザーが上下のボタンを使用してdivを並べ替えることができる簡単なスクリプトを作成しました。

jsFiddle: http: //jsfiddle.net/dZ6rC/5/

残念ながら、マウスクリックで移動をアニメーション化しようとしても、タグは移動されません。

これは私のコードです:

$('.up').click(function(){
  var previous = $(this).parent().parent().prev('.item');
  $(this).parent().parent().insertBefore(previous).slideUp();
});
$('.down').click(function(){
  var next = $(this).parent().parent().next('.item');
  $(this).parent().parent().insertAfter(next).slideDown();
});​

タグが動かない理由を誰かが理解できますか?

4

3 に答える 3

5

要素を下にスライドさせる前に要素を隠していないため、効果は見られません。

http://jsfiddle.net/dZ6rC/4/

.hideの前に追加でき.slideDownます。そこからアニメーションを少し改善したいと思うかもしれませんが、これだけは覚えておいてください。

于 2012-12-20T02:37:24.550 に答える
1

あなたが何を達成しようとしているのか完全にはわかりませんが、3 つparent()の呼び出しを連鎖させることはおそらく最善の方法ではありません。

これで問題が解決すると思います:

$('.up').click(function(){
  $(this).parents('.item').slideUp();
});
$('.down').click(function(){
 $(this).parents('.item').slideDown();
});​

要件が不足している場合は、質問を更新してください。

于 2012-12-20T02:38:01.170 に答える
0

非表示と表示のシーケンスを追加するだけです。

jQuery(html_usr).insertBefore( "#log_row" ).hide().show('blind');
于 2015-05-19T01:07:28.600 に答える