zoukankan      html  css  js  c++  java
  • 如何用jQuery实现div随鼠标移动而移动?(详解)----2017-05-12

    重点是弄清楚如何获取鼠标现位置与移动后位置,div现在位置与移动后位置:

    用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>

    区别于下面这段代码:(最终实现效果是div随鼠标位置移动,具体效果想看的可以粘贴复制对比看看差距在哪)

    	<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>
    

      

  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/chenguanai/p/6845240.html
Copyright © 2011-2022 走看看