Cet article présente principalement jQuery pour réaliser en détail le mouvement de la souris. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.
Le point clé est de comprendre comment obtenir la position actuelle et la position de la souris, la position actuelle et la position de p après le déplacement :
Utilisez jQuery pour réaliser que p se déplace avec le mouvement de la souris, pas la position de la souris elle-même ! ! Mais le mouvement de p par rapport à la position précédente
Le code est le suivant : (faites attention à l'explication de la partie verte)
<!DOCTYPE html> <html> <head> <meta charset="{utf-8}"> <title></title> <script src="../jquery-3.2.0.js"></script> <style> .aa{ height: 100px; width: 200px; position: absolute; background-color: green; } </style> </head> <body> <p class="aa"></p> </body> </html> <script> $(".aa").mousedown(function(e){ //设置移动后的默认位置 var endx=0; var endy=0; //获取p的初始位置,要注意的是需要转整型,因为获取到值带px var left= parseInt($(".aa").css("left")); var top = parseInt($(".aa").css("top")); //获取鼠标按下时的坐标,区别于下面的es.pageX,es.pageY var downx=e.pageX; var downy=e.pageY; //pageY的y要大写,必须大写!! // 鼠标按下时给p挂事件 $(".aa").bind("mousemove",function(es){ //es.pageX,es.pageY:获取鼠标移动后的坐标 var endx= es.pageX-downx+left; //计算p的最终位置 var endy=es.pageY-downy+top; //带上单位 $(".aa").css("left",endx+"px").css("top",endy+"px") }); }) $(".aa").mouseup(function(){ //鼠标弹起时给p取消事件 $(".aa").unbind("mousemove") }) </script>
Différence par rapport au code suivant (L'effet final est que p se déplace avec la position de la souris. Si vous voulez voir l'effet spécifique, vous pouvez coller, copier et comparer pour voir où est la différence)
<script> $(".aa").mousedown(function(e){ $(document).bind("mousemove",function(e){ $(".aa").css("left",e.pageX).css("top",e.pageY) }); }) $(".aa").mouseup(function(){ $(document).unbind("mousemove") }) </script>
Recommandations associées :
10 sections d'effets de souris Web classiques à partager
Comment implémenter l'effet de glissement de la souris dans l'applet WeChat
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!