はじめに
jqueryを使用してある要素をdraggable()しようとすると、要素が右へずれてしまい、画面から消えてしまいます。再度、要素を掴もうとしても要素が見当たりません。下の方をよく見るとスクロールバーがまだ、余裕があり、右にずらせます。そこで、さらに右方向へずらすとその要素が見えてきました。
何故、こんなことが起こるのかと調べてみると、どうもzoomを使っていると発生するようです。
そこで、zoom=1.5;を外してみました。すると、今度はずれもなく、きれいにドラッグすることができました。
原因はzoomにあったようです。
例えば、$("#youtube_radio").draggable();のようなスクリプトをzoom=1.5;の時にドラックしようとすると要素が右の方へずれてしまい、画面から消えてしまいます。
そこで、先にご説明したように、zoomを外しました。すると、うまく行きます。
ネットで調べてみると、darggabe()では、zoomの再計算をしていないようです。そのため、再計算しているスクリプトもありますが見るからに複雑そうで、使う気にはなれません。むしろ、zoomをやめてしまう方が、すっきりとします。
あとがき
非常に短い記事ですが、今回のdraggable()で、時間を使いましたので、メモとして残しておこうと思いました。
ネットのstackoverflowにもこの件で質問が結構ありましたので、やはり、困っている人もいるのかなと思いました。