jquery 鼠标点击挪动div实现

本文介绍如何利用jQuery库实现网页元素的窗口拖动功能,包括点击元素触发事件、鼠标按下时记录位置、移动元素并调整其位置,以及鼠标释放后恢复原状的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script type="text/javascript" src="jquery.js"></script>
<script>
   // Start 窗口的拖动
         var _move=false;                 //移动标记 
         var _x,_y;                            //鼠标离控件左上角的相对位置 
$(document).ready(function(){
  

        $("#zf_Box").click(function(){
        //alert("click");//点击(松开后触发)

        }).mousedown(function(e){ 
                     if(!_move){
                     _move=true; 
                     _x=e.pageX-parseInt($("#zf_Box").css("left")); 
                     _y=e.pageY-parseInt($("#zf_Box").css("top")); 
                    
                    }else{
                     $("#zf_Box").fadeTo("fast", 1);  
                      _move=false;
                
                    }                        
          }); 
          $(document).mousemove(function(e){ 
                  if(_move){ 
                            var x=e.pageX-_x;                                 
                            var y=e.pageY-_y; 
                            $("#zf_Box").fadeTo(20, 0.5);
                            $("#zf_Box").css({top:y,left:x});               
                   } 
           }).mouseup(function(){ 
                    //_move=false; 
                    $("#zf_Box").fadeTo("fast", 1);                           
           }); 
 
});
</script>

<div    id='zf_Box'   style='background-color:red;width:200px;height:200px; position:absolute;   left:80px;top:20px;'></div>

jQuery中,要实现点击按钮后出现悬浮div并且可以挪动其位置,通常需要结合HTML、CSS和JavaScript来完成。以下是一个简单的示例步骤: 1. 首先,创建一个HTML页面,并在其中添加一个按钮和一个初始隐藏的div元素,这个div元素将作为悬浮的层。 ```html <!DOCTYPE html> <html> <head> <title>悬浮div示例</title> <style> #floatingDiv { display: none; position: absolute; /* 其他样式设置,比如宽度、高度、边框等 */ } </style> </head> <body> <button id="showBtn">显示悬浮层</button> <div id="floatingDiv"> <!-- 悬浮层内容 --> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function(){ $("#showBtn").click(function(){ // 显示悬浮层 $("#floatingDiv").show(); // 绑定鼠标按下事件,准备拖动悬浮层 $(this).mousedown(function(e){ var clickX = e.pageX - $("#floatingDiv").offset().left; var clickY = e.pageY - $("#floatingDiv").offset().top; $(document).on("mousemove", function(e){ $("#floatingDiv").css({ "left": e.pageX - clickX, "top": e.pageY - clickY }); }); }); // 阻止按钮被再次点击时的默认行为和事件冒泡 return false; }); }); </script> </body> </html> ``` 2. 使用CSS来设置悬浮div的初始样式,这里我们将其设置为绝对定位,并且初始时是隐藏的。 3. 利用jQuery监听按钮的点击事件,在按钮被点击时显示悬浮div,并通过绑定`mousedown`、`mousemove`和`mouseup`事件来实现拖动功能。 上述代码展示了基本的实现方法,它包括了在点击按钮后显示一个div元素,并通过鼠标移动事件使其可以被拖动。需要注意的是,在实际应用中,可能需要更复杂的逻辑来处理边界条件、性能优化等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值