• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像を並べ替える・・・)

画像を並べ替える方法と画像入れ替え時のぶれ問題について

このQ&Aのポイント
  • ドラックアンドドロップで画像を入れ替える方法と、右から左に画像を入れ替える際に発生するぶれ問題について解説します。
  • 具体的なコード例を示しながら、横に画像を入れ替えるためのスクリプトの実装方法を詳しく説明します。
  • また、右から左に画像を入れ替える際に生じるぶれ問題を解消するための方法も提案します。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

拝見させていただいたわ。 これ「ぶれて」が発生している状態かしら? もしそうだとしたら原因は恐らく 判定の位置ね。 左から右に移動させるときは、 ドラッグ中のオブジェクトが 下のオブジェクトの左端に触れたときに 下のオブジェクトが移動するわ。 でも右から左のときも同様に 下のオブジェクトの左端に触れたときに 下のオブジェクトが移動するわ。 恐らく左端に触れたとき、ドラッグ中のオブジェクトの位置の 一つ右側のオブジェクトを左に詰める処理が働いているから 「ぶれ」が発生しているのね。 この処理を無くせばOKよ。

ryuuzakika
質問者

補足

回答ありがとうございます。 ということは、CSSの位置の問題ではなく javascriptの問題という事ですね? >左端に触れた時 これはcssのdtのmargin:の設定を限りなく0に近くした からだと思います。最初はこれの値を上手く設定すればいける かなと思いcssの設定を出したのですが、自分でも調べてみると あまり関係なさそうでした ちなみに下がジャバスクリプトの処理(というかライブラリなんですが・・・) document.observe('dom:loaded', function() { var options = { tag:'dt', overlap : 'horizontal', constraint: false, containment: ['gloop1'], dropOnEmpty: true, onUpdate: function(list) { var methodStart = list.down('dt') ? 'remove' : 'add'; list[methodStart + 'ClassName']('empty'); } }; Sortable.create('gloop1', options); }); Sortable.createのoptionsの設定の仕方になってくるのでしょうか?

その他の回答 (2)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

optionでなんとかなるかも? dropOnEmptyあたりをfalseにしてはどお? ところでHTMLがぐたぐたね ・同じidが存在している  →idはユニークにしないと。 ・<a>がブロックを跨いでいる  →<a>の位置を<table>の前に持っていったほうがいいかも 動作上必要があってやっているのかもなので とりあえず言ってみただけ。

ryuuzakika
質問者

補足

回答ありがとうございます。 外してみたらブレはなくなりました☆ ただ、動きがぎこちない感じになってしまっているので それをどうにかしたいという形です。 >ところでHTMLがぐたぐたね ご指摘ありがとうございます。 これももしかしたらぎこちない動きの一端を担って いるかもしれないので修正してみます。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

> 画像がぶれて いまいちこの状態がわからないのよね。 どういう現象なのかしら。 とりあえずこのコードだけじゃ再現できないので もっと詳しい情報が欲しいわ。

ryuuzakika
質問者

補足

askaaska様 回答、ありがとうございます。 少し遅くなってしまいましたが サイトに簡易版を置いてみました。 若干上のコードとは違うところが有りますが、動き等は 同じで、現象も発生しています。 http://kaitest.web.fc2.com/test1.html 自分が目指している動きはこのくらいの動きです。 http://kaitest.web.fc2.com/test2.html