首页 > 代码库 > 补2017.5.12
补2017.5.12
jQuery让DIV随着鼠标的移动来移动
貌似最简单的功能,却蕴含着智慧的结晶,虽然是鼠标在动,然后DIV再动,其实,真正移动的是代码~
<!DOCTYPE html> <html> <head> <meta charset="{utf-8}"> <title></title> <script src="http://www.mamicode.com/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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。