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

📄 dragdrop.js

📁 这是YUI的源码及相关示例。里面有很多很炫的Javascript效果。
💻 JS
📖 第 1 页 / 共 5 页
字号:
     * @type object     */    events: null,    /**    * @method on    * @description Shortcut for EventProvider.subscribe, see <a href="YAHOO.util.EventProvider.html#subscribe">YAHOO.util.EventProvider.subscribe</a>    */    on: function() {        this.subscribe.apply(this, arguments);    },    /**     * The id of the element associated with this object.  This is what we      * refer to as the "linked element" because the size and position of      * this element is used to determine when the drag and drop objects have      * interacted.     * @property id     * @type String     */    id: null,    /**     * Configuration attributes passed into the constructor     * @property config     * @type object     */    config: null,    /**     * The id of the element that will be dragged.  By default this is same      * as the linked element , but could be changed to another element. Ex:      * YAHOO.util.DDProxy     * @property dragElId     * @type String     * @private     */    dragElId: null,     /**     * the id of the element that initiates the drag operation.  By default      * this is the linked element, but could be changed to be a child of this     * element.  This lets us do things like only starting the drag when the      * header element within the linked html element is clicked.     * @property handleElId     * @type String     * @private     */    handleElId: null,     /**     * An associative array of HTML tags that will be ignored if clicked.     * @property invalidHandleTypes     * @type {string: string}     */    invalidHandleTypes: null,     /**     * An associative array of ids for elements that will be ignored if clicked     * @property invalidHandleIds     * @type {string: string}     */    invalidHandleIds: null,     /**     * An indexted array of css class names for elements that will be ignored     * if clicked.     * @property invalidHandleClasses     * @type string[]     */    invalidHandleClasses: null,     /**     * The linked element's absolute X position at the time the drag was      * started     * @property startPageX     * @type int     * @private     */    startPageX: 0,    /**     * The linked element's absolute X position at the time the drag was      * started     * @property startPageY     * @type int     * @private     */    startPageY: 0,    /**     * The group defines a logical collection of DragDrop objects that are      * related.  Instances only get events when interacting with other      * DragDrop object in the same group.  This lets us define multiple      * groups using a single DragDrop subclass if we want.     * @property groups     * @type {string: string}     */    groups: null,    /**     * Individual drag/drop instances can be locked.  This will prevent      * onmousedown start drag.     * @property locked     * @type boolean     * @private     */    locked: false,    /**     * Lock this instance     * @method lock     */    lock: function() { this.locked = true; },    /**     * Unlock this instace     * @method unlock     */    unlock: function() { this.locked = false; },    /**     * By default, all instances can be a drop target.  This can be disabled by     * setting isTarget to false.     * @property isTarget     * @type boolean     */    isTarget: true,    /**     * The padding configured for this drag and drop object for calculating     * the drop zone intersection with this object.     * @property padding     * @type int[]     */    padding: null,    /**     * If this flag is true, do not fire drop events. The element is a drag only element (for movement not dropping)     * @property dragOnly     * @type Boolean     */    dragOnly: false,    /**     * If this flag is true, a shim will be placed over the screen/viewable area to track mouse events. Should help with dragging elements over iframes and other controls.     * @property useShim     * @type Boolean     */    useShim: false,    /**     * Cached reference to the linked element     * @property _domRef     * @private     */    _domRef: null,    /**     * Internal typeof flag     * @property __ygDragDrop     * @private     */    __ygDragDrop: true,    /**     * Set to true when horizontal contraints are applied     * @property constrainX     * @type boolean     * @private     */    constrainX: false,    /**     * Set to true when vertical contraints are applied     * @property constrainY     * @type boolean     * @private     */    constrainY: false,    /**     * The left constraint     * @property minX     * @type int     * @private     */    minX: 0,    /**     * The right constraint     * @property maxX     * @type int     * @private     */    maxX: 0,    /**     * The up constraint      * @property minY     * @type int     * @type int     * @private     */    minY: 0,    /**     * The down constraint      * @property maxY     * @type int     * @private     */    maxY: 0,    /**     * The difference between the click position and the source element's location     * @property deltaX     * @type int     * @private     */    deltaX: 0,    /**     * The difference between the click position and the source element's location     * @property deltaY     * @type int     * @private     */    deltaY: 0,    /**     * Maintain offsets when we resetconstraints.  Set to true when you want     * the position of the element relative to its parent to stay the same     * when the page changes     *     * @property maintainOffset     * @type boolean     */    maintainOffset: false,    /**     * Array of pixel locations the element will snap to if we specified a      * horizontal graduation/interval.  This array is generated automatically     * when you define a tick interval.     * @property xTicks     * @type int[]     */    xTicks: null,    /**     * Array of pixel locations the element will snap to if we specified a      * vertical graduation/interval.  This array is generated automatically      * when you define a tick interval.     * @property yTicks     * @type int[]     */    yTicks: null,    /**     * By default the drag and drop instance will only respond to the primary     * button click (left button for a right-handed mouse).  Set to true to     * allow drag and drop to start with any mouse click that is propogated     * by the browser     * @property primaryButtonOnly     * @type boolean     */    primaryButtonOnly: true,    /**     * The availabe property is false until the linked dom element is accessible.     * @property available     * @type boolean     */    available: false,    /**     * By default, drags can only be initiated if the mousedown occurs in the     * region the linked element is.  This is done in part to work around a     * bug in some browsers that mis-report the mousedown if the previous     * mouseup happened outside of the window.  This property is set to true     * if outer handles are defined.     *     * @property hasOuterHandles     * @type boolean     * @default false     */    hasOuterHandles: false,    /**     * Property that is assigned to a drag and drop object when testing to     * see if it is being targeted by another dd object.  This property     * can be used in intersect mode to help determine the focus of     * the mouse interaction.  DDM.getBestMatch uses this property first to     * determine the closest match in INTERSECT mode when multiple targets     * are part of the same interaction.     * @property cursorIsOver     * @type boolean     */    cursorIsOver: false,    /**     * Property that is assigned to a drag and drop object when testing to     * see if it is being targeted by another dd object.  This is a region     * that represents the area the draggable element overlaps this target.     * DDM.getBestMatch uses this property to compare the size of the overlap     * to that of other targets in order to determine the closest match in     * INTERSECT mode when multiple targets are part of the same interaction.     * @property overlap      * @type YAHOO.util.Region     */    overlap: null,    /**     * Code that executes immediately before the startDrag event     * @method b4StartDrag     * @private     */    b4StartDrag: function(x, y) { },    /**     * Abstract method called after a drag/drop object is clicked     * and the drag or mousedown time thresholds have beeen met.     * @method startDrag     * @param {int} X click location     * @param {int} Y click location     */    startDrag: function(x, y) { /* override this */ },    /**     * Code that executes immediately before the onDrag event     * @method b4Drag     * @private     */    b4Drag: function(e) { },    /**     * Abstract method called during the onMouseMove event while dragging an      * object.     * @method onDrag     * @param {Event} e the mousemove event     */    onDrag: function(e) { /* override this */ },    /**     * Abstract method called when this element fist begins hovering over      * another DragDrop obj     * @method onDragEnter     * @param {Event} e the mousemove event     * @param {String|DragDrop[]} id In POINT mode, the element     * id this is hovering over.  In INTERSECT mode, an array of one or more      * dragdrop items being hovered over.     */    onDragEnter: function(e, id) { /* override this */ },    /**     * Code that executes immediately before the onDragOver event     * @method b4DragOver     * @private     */    b4DragOver: function(e) { },    /**     * Abstract method called when this element is hovering over another      * DragDrop obj     * @method onDragOver     * @param {Event} e the mousemove event     * @param {String|DragDrop[]} id In POINT mode, the element     * id this is hovering over.  In INTERSECT mode, an array of dd items      * being hovered over.     */    onDragOver: function(e, id) { /* override this */ },    /**     * Code that executes immediately before the onDragOut event     * @method b4DragOut     * @private     */    b4DragOut: function(e) { },    /**     * Abstract method called when we are no longer hovering over an element     * @method onDragOut     * @param {Event} e the mousemove event     * @param {String|DragDrop[]} id In POINT mode, the element     * id this was hovering over.  In INTERSECT mode, an array of dd items      * that the mouse is no longer over.     */    onDragOut: function(e, id) { /* override this */ },    /**     * Code that executes immediately before the onDragDrop event     * @method b4DragDrop     * @private     */    b4DragDrop: function(e) { },    /**     * Abstract method called when this item is dropped on another DragDrop      * obj     * @method onDragDrop     * @param {Event} e the mouseup event     * @param {String|DragDrop[]} id In POINT mode, the element     * id this was dropped on.  In INTERSECT mode, an array of dd items this      * was d

⌨️ 快捷键说明

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