zoukankan      html  css  js  c++  java
  • JS 拖动事件

    一个来自网上的东西- -被我捡到了

    然后我访问到了 发出来就可以粘贴复制自己做成js文件了吧

    // by zhangxinxu welcome to visit my personal website http://www.zhangxinxu.com/
    // zxx.drag v1.0 2010-03-23 元素的拖拽实现
    
    var params = {
        left: 0,
        top: 0,
        currentX: 0,
        currentY: 0,
        flag: false
    };
    //获取相关CSS属性
    var getCss = function(o,key){
        return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key];     
    };
    
    //拖拽的实现
    var startDrag = function(bar, target, callback){
        if(getCss(target, "left") !== "auto"){
            params.left = getCss(target, "left");
        }
        if(getCss(target, "top") !== "auto"){
            params.top = getCss(target, "top");
        }
        //o是移动对象
        bar.onmousedown = function(event){
            params.flag = true;
            if(!event){
                event = window.event;
                //防止IE文字选中
                bar.onselectstart = function(){
                    return false;
                }  
            }
            var e = event;
            params.currentX = e.clientX;
            params.currentY = e.clientY;
        };
        document.onmouseup = function(){
            params.flag = false;    
            if(getCss(target, "left") !== "auto"){
                params.left = getCss(target, "left");
            }
            if(getCss(target, "top") !== "auto"){
                params.top = getCss(target, "top");
            }
        };
        document.onmousemove = function(event){
            var e = event ? event: window.event;
            if(params.flag){
                var nowX = e.clientX, nowY = e.clientY;
                var disX = nowX - params.currentX, disY = nowY - params.currentY;
                target.style.left = parseInt(params.left) + disX + "px";
                target.style.top = parseInt(params.top) + disY + "px";
            }
            
            if (typeof callback == "function") {
                callback(parseInt(params.left) + disX, parseInt(params.top) + disY);
            }
        }    
    };

    上面那个是js的文件!!!!接下来才是界面代码。。。。

    <!DOCTYPE HTML>
    <html>
    <head>
     <title>HTML5实现拖拽操作</title>
     <meta charset="utf-8"/>
     <style type="text/css">
    #box{position:absolute; left:100px; top:100px; padding:5px; background:#f0f3f9; font-size:12px; -moz-box-shadow:2px 2px 4px #666666; -webkit-box-shadow:2px 2px 4px #666666;}
    #main{border:1px solid #a0b3d6; background:white;}
    #bar{line-height:24px; background:#beceeb; border-bottom:1px solid #a0b3d6; padding-left:5px; cursor:move;}
    #content{420px; height:250px; padding:10px 5px;}
    </style>
    </head>
    <body>
     <div id="box">
        <div id="main">
            <div id="bar">拖拽</div>
            <div id="content">
                内容……
            </div>
        </div>
    </div>
    </body>
    </html>
    <script src="http://www.zhangxinxu.com/study/js/zxx.drag.1.0.js" type="text/javascript"></script>
    <script type="text/javascript">
        var oBox = document.getElementById("box");
        var oBar = document.getElementById("bar");
        startDrag(oBar, oBox);
    </script>

    界面端有个引用的网络js名字。。。。也可以直接用。。。。。

  • 相关阅读:
    什么人一亏再亏,什么人亿万富翁? —兼谈本周经济与股市
    数组排序
    倒水
    倒水
    lua string
    lua string
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/baimangguo/p/6609795.html
Copyright © 2011-2022 走看看