補2017.5.12
阿新 • • 發佈:2017-05-22
jquer mov fun head class 坐標 註意 rip parse
jQuery讓DIV隨著鼠標的移動來移動
貌似最簡單的功能,卻蘊含著智慧的結晶,雖然是鼠標在動,然後DIV再動,其實,真正移動的是代碼~
<!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> <div class="aa"></div> </body> </html> <script> $(".aa").mousedown(function(e){ //設置移動後的默認位置 var endx=0; var endy=0;
//獲取div的初始位置,要註意的是需要轉整型,因為獲取到值帶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要大寫,必須大寫!!
// 鼠標按下時給div掛事件 $(".aa").bind("mousemove",function(es){
//es.pageX,es.pageY:獲取鼠標移動後的坐標 var endx= es.pageX-downx+left; //計算div的最終位置 var endy=es.pageY-downy+top;
//帶上單位 $(".aa").css("left",endx+"px").css("top",endy+"px") }); })
$(".aa").mouseup(function(){ //鼠標彈起時給div取消事件 $(".aa").unbind("mousemove") }) </script>
補2017.5.12