ホームページ >ウェブフロントエンド >jsチュートリアル >ドラッグ中にmousemoveが発生するたびに、jqueryはどのようにして左へのジャンプを実現しますか?

ドラッグ中にmousemoveが発生するたびに、jqueryはどのようにして左へのジャンプを実現しますか?

黄舟
黄舟オリジナル
2017-06-28 10:35:581688ブラウズ

jQuery はドラッグを記述しましたが、mousemove が行われるたびに常に左へのジャンプが発生します。そのようなジャンプが存在しないはずはありません。

.wrap{
width:328px;
position: absolute;
left:50%;
top:30%;
margin-left:-164px; //应该是这个margin-left造成的
padding:10px;
background:#eeeeee;
border-radius: 10px;
} 
//js
$('.wrap').on('mousedown',function(e){
var _this=$(this)
disX=e.clientX-$(this).offset().left;
disY=e.clientY-$(this).offset().top;
$(document).on('mousemove',function(e){
_this.css('left',e.clientX-disX)
_this.css('top',e.clientY-disY)
}); $(document).on('mouseup',function(){ $(this).unbind('mousemove');
})
})

divItem 子要素は divBox の上にあります。
マウスが divItem に移動すると、divBox から別の要素に移動します。
まず divBox の Mouseout イベントをトリガーし、次に divItem の Mouseover イベントをトリガーします。 。

あなたのニーズを直接実現することはできません。あなたが望む効果を達成する別の方法がないかどうかを確認してください。
1. divBoxのmouseoverで呼び出されるメソッドをdivItemのmouseoverイベントで呼び出すことができます。
2. divItem は何に使用されますか? divBox の背景画像に置き換えることはできますか?
3. または、すべての div の location:absolute を設定し、divBox の z-index を divItem の z-index より大きく設定し、その後 divBox を半透明に設定します。
長い間コードを見た後、CSSを削除して問題ありませんでした。それからmargin-left:-164pxを削除するか、負でない数値に変更しました。

以上がドラッグ中にmousemoveが発生するたびに、jqueryはどのようにして左へのジャンプを実現しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。