永发信息网

jQuery我想做一个,点击新建出来一个div,鼠标按下拖动div也跟着移动,代码哪里错了

答案:2  悬赏:60  手机版
解决时间 2021-01-04 01:37
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input id="found" type="button" value="新建">
<span id="aa"></span>
</body>
<script type="text/javascript"src="jquery-2.1.3.min.js"></script>
<script type="text/javascript">
t=true;
$("#found").click(function(){
$("body").append("<div id='run'>按住我移动</div>")
$(this).mouseup(function(){
t=false;
})
$("#run").mousedown (function(e){
$(this).mousemove(function(e){
if(t)
{
$("#aa").html(e.pageX+","+ e.pageY)
$(this).css({"left":e.pageX+5+"px","top":e.pageY+5+"px"})
}
})
})
})

</script>
</html>
最佳答案
你的代码中有以下几处问题:
    t=true;
    $("#found").click(function(){
        $("body").append("<div  id='run'>按住我移动</div>")

        // 这里的 this 代表 #found 元素,
        // 所以应该改为 $("#run")
        $(this).mouseup(function(){
            // 只要鼠标松开一次,#run 就不能再被拖动了!只能拖动一次吗?
            t=false;
        })
        $("#run").mousedown (function(e){
            // 每次在 #run 上按下鼠标就会添加一次鼠标移动事件!
          $(this).mousemove(function(e){
              if(t)
              {
                  $("#aa").html(e.pageX+","+ e.pageY)
                  // 下面这句应该改为 X、Y 都减 5
                  $(this).css({"left":e.pageX+5+"px","top":e.pageY+5+"px"})
              }
          })
        })
    })

根据你的要求,我写了一段代码,你可以参考一下:
$("#found").click(function(){
    var t=false, x, y;
    $("body").append(
        $("<div  id='run'>按住我移动</div>")
        .mouseup(function(){
            t=false;
        }).mousedown (function(e){
            x=e.offsetX;
            y=e.offsetY;
            t=true;
        }).mousemove(function(e){
            if(t)
            {
                $("#aa").html(e.pageX+","+ e.pageY)
                $(this).css({"left":e.pageX-x+"px","top":e.pageY-y+"px"})
            }
        })
    )
})
全部回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
the best…the best造句并翻译
. They are teachers and don't realize the
小米手环还剩多少充电
根据课文填空,选择正确的一项①然而这一次的
阳光麦麦培训学校地址在什么地方,想过去办事
在“观察凸透镜成像”的实验中,光屏上已成清
单选题下面有关中国与美国自然特征共同之处的
在怀孕期间的检查能不能用医保卡
对领导升职好话
人们的认识之所以要不断深化,是因为D①复杂
赤道的反义词是什么?
表格里的日期怎么排序
姓祝的女孩名字
石灰岩经过变质作用形成的变质岩是A.大理岩B.
ANASAexperimentaljet,theX-43A,flewataworld
推荐资讯
什么眼远眺四字词语
数据备份与恢复是什么?
单选题我国水土流失严重的地区主要集中在地势
单选题如图,AB是半圆O的直径,点C在半圆上,
蓝染崩玉完全体加上十尾会怎样
单选题劳动节这天,下列城市白昼最长的是A.香
青岛市质监局平度稽查分局办公地址在什么地方
海纳百川,有容乃大。民族文化和民族精神只有
Itisinteresting________whatpeoplet
用"节约每一滴水"写一段话
在卫星云图上,绿色表示A.晴朗的海洋B.晴朗的
推荐几款欧莱雅比较好的洗面奶
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?