⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajs_dnd.js

📁 好东西
💻 JS
字号:
/*Last Modified: 16/05/07 16:31:11AJS drag and drop    A very small drag and drop libraryAUTHOR    4mir Salihefendic (http://amix.dk) - amix@amix.dkLICENSE    Copyright (c) 2006 Amir Salihefendic. All rights reserved.VERSION    4.05SITE    http://orangoo.com/AmiNation/AJS**/AJS.Drag = AJS.Class({    current_handler: null, //The element that acts as handler    current_root: null, //The element that acts as root    last_mouse_x: 0,    last_mouse_y: 0,    init: function() {        AJS.bindMethods(this);    },    dragAble: function(root, kws) {        kws = kws || {};        var handler = kws.handler || root;        handler = AJS.$(handler);        handler._kws = kws;        handler._root = AJS.$(root);        handler._start_fn = function(ev) {            AJS.dnd._start(handler, ev);            AJS.preventDefault(ev);            return false;        }        AJS.AEV(handler, 'mousedown', handler._start_fn);    },    removeDragAble: function(elm) {        if(elm._start_fn)            AJS.REV(elm, 'mousedown', elm._start_fn);    },    //--- Private functions ----------------------------------------------    _start: function(handler, ev) {        this.current_handler = handler;        var root = this.current_root = handler._root;        this.last_mouse_pos = AJS.getMousePos(ev);        this.old_z_index = root.style.zIndex;        root.style.zIndex = 1000;        if(handler._kws.on_start)            handler._kws.on_start();        AJS.AEV(document, 'mousemove', this._move);        AJS.AEV(document, 'mouseup', this._end);    },    _move: function(ev) {        var handler = this.current_handler;        if(!handler)            return false;        var root = this.current_root;        var kws = handler._kws;        var cur_mouse_pos = AJS.getMousePos(ev);        var last_mouse_pos = this.last_mouse_pos;        var new_x = (cur_mouse_pos.x - last_mouse_pos.x);        var new_y = (cur_mouse_pos.y - last_mouse_pos.y);        new_y += root.offsetTop;        new_x += root.offsetLeft;        if(kws.move_filter) {            var vals = kws.move_filter(new_x, new_y);            new_x = vals[0];            new_y = vals[1];        }        if(kws.move_x != false)            AJS.setLeft(root, new_x);        if(kws.move_y != false)            AJS.setTop(root, new_y);        if(kws.on_drag)            kws.on_drag(new_x, new_y);        this.last_mouse_pos = cur_mouse_pos;        //Moving scroll to the top, should move the scroll up        if(kws.scroll_on_overflow != false) {            var sc_top = AJS.getScrollTop();            var sc_bottom = sc_top + AJS.getWindowSize().h;            var d_e_top = AJS.absolutePosition(root).y;            var d_e_bottom = root.offsetTop + root.offsetHeight;            if(d_e_top <= sc_top + 30)                window.scrollBy(0, -20);            else if(d_e_bottom >= sc_bottom - 30)                window.scrollBy(0, 20);        }        AJS.preventDefault(ev);        return false;    },    _end: function(ev) {        var root = this.current_root;        var handler = this.current_handler;        AJS.REV(document, 'mousemove', this._move);        AJS.REV(document, 'mouseup', this._end);        if(handler._kws.on_end)            handler._kws.on_end();        this.current_handler = null;        this.current_root = null;        root.style.zIndex = this.old_z_index;        AJS.preventDefault(ev);        return false;    }});AJS.dnd = new AJS.Drag();script_loaded = true;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -