0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

jqueryでdraggable()を使用するときはzoomを外すとよいです。

Posted at

はじめに

jqueryを使用してある要素をdraggable()しようとすると、要素が右へずれてしまい、画面から消えてしまいます。再度、要素を掴もうとしても要素が見当たりません。下の方をよく見るとスクロールバーがまだ、余裕があり、右にずらせます。そこで、さらに右方向へずらすとその要素が見えてきました。
何故、こんなことが起こるのかと調べてみると、どうもzoomを使っていると発生するようです。
そこで、zoom=1.5;を外してみました。すると、今度はずれもなく、きれいにドラッグすることができました。

原因はzoomにあったようです。

例えば、$("#youtube_radio").draggable();のようなスクリプトをzoom=1.5;の時にドラックしようとすると要素が右の方へずれてしまい、画面から消えてしまいます。

そこで、先にご説明したように、zoomを外しました。すると、うまく行きます。
ネットで調べてみると、darggabe()では、zoomの再計算をしていないようです。そのため、再計算しているスクリプトもありますが見るからに複雑そうで、使う気にはなれません。むしろ、zoomをやめてしまう方が、すっきりとします。

あとがき

非常に短い記事ですが、今回のdraggable()で、時間を使いましたので、メモとして残しておこうと思いました。
ネットのstackoverflowにもこの件で質問が結構ありましたので、やはり、困っている人もいるのかなと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?