这样设置应该没啥问题了吧

这样设置应该没啥问题了吧

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

        *{

            margin:0;

            padding: 0;

        }

        #main{

            width:200px;

            height:200px;

            background: yellow;

            position: absolute;

            top:100px;

            left:100px;

            -webkit-user-select: none;

            text-align: center;

        }

        #div1{

            width: 200px;

            height: 20px;

            background-color: red;

            cursor: move;

        }

    </style>

    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>

</head>

<body>

    <div id="main">

        <div id="div1">我能被拖动</div>

    </div>

<script type="text/javascript">

             var isMouseDown = false;

             var lastPoint={};

             $("#div1").on("mousedown",function(e){

             isMouseDown = true;

             lastPoint.x = e.pageX;

             lastPoint.y = e.pageY; 

             });

             $("#div1").on("mousemove",function(e){

                if(isMouseDown){

                var main = $("#main");

                var minleft= 0;

                var mintop=0;

                var maxleft=600;

                var maxtop=600;

                var left=parseInt(main.css("left"));

                var top=parseInt(main.css("top"));

                if(left<minleft){

                    left=minleft;

                }

                if(left>maxleft){

                    left=maxleft;

                }

                if(top<mintop){

                    top=mintop;

                }

                if(top>maxtop){

                    top=maxtop;

                }

                var X = left + e.pageX - lastPoint.x;

                var Y = top + e.pageY - lastPoint.y;

                main.css("left",X + "px");

                main.css("top",Y + "px");

             lastPoint.x = e.pageX;

             lastPoint.y = e.pageY;                

             }});

             $("#div1").on("mouseup",function(){

                isMouseDown = false;

                lastPoint = {};

             })

    </script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
嘘_别说话 2017-09-03 18:38:07

感觉不是很跟鼠标啊,鼠标不按下时在页面上划也动啊,你再看看老师的代码是咋写的吧~我跟着老师写就没有问题

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5&CSS3进阶与常用框架 2018
  • 参与学习       315    人
  • 提交作业       136    份
  • 解答问题       626    个

如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师