zoukankan      html  css  js  c++  java
  • jquery拖拽

    原生js:

    window.onload=function(){
                    var oBox=document.getElementById("box");
                    oBox.onmousedown=function(ev){
                        var e=ev||event;
                        var disX=e.clientX-oBox.offsetLeft;
                        var disY=e.clientY-oBox.offsetTop;
                        document.onmousemove=function(ev){
                        var e=ev||event;
                        var l=e.clientX-disX;
                        var t=e.clientY-disY;
                        oBox.style.left=l+'px';
                        oBox.style.top=t+'px';
                        }
                        document.onmouseup=function(){
                            document.onmousemove=null;
                            document.onmouseup=null;
                        oBox.releaseCapture&&oBox.releaseCapture();
                        }
                        oBox.setCapture&&oBox.setCapture();
                        return false;
                    }
                }

    jquery版:

              $(function(){
                            $('#box').mousedown(function(ev){
                                var disX=ev.clientX-$('#box').position().left; //position()是指到定位父级的相对距离,offset()到body的绝对距离
                                var disY=ev.clientY-$('#box').position().top;
                                function move(ev){
                                    var l=ev.clientX-disX;
                                    var t=ev.clientY-disY;
                                    $('#box')[0].style.left=l+'px';  //$('#box')[0]或者$('#box').get(0)将jquery转为js
                                    $('#box')[0].style.top=t+'px';
                                }
                                function stop1(){
                                    $(document).off('mousemove',move);
                                    $(document).off('mouseup',stop1);
                                    $('#box')[0].releaseCapture&&$('#box')[0].releaseCapture();
                                }
                                $(document).on('mousemove',move);
                                $(document).on('mouseup',stop1);
                                $('#box')[0].setCapture&&$('#box')[0].setCapture();
                                return false;
                            });
                        });
  • 相关阅读:
    经典问题的非经典解法
    经典问题之树的深度
    35、AndroidView的滑动方式
    30、Android属性动画
    31、Android矢量动画
    36、AndroidCanvas画布
    27、AndroidEventBus
    28、AndroidRxjava
    32、Android事件分发机制
    29、Android基本动画
  • 原文地址:https://www.cnblogs.com/yang0902/p/5712618.html
Copyright © 2011-2022 走看看