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

📄 menu.ie.js

📁 Bindows 1.01 完全版 Bindows 框架提供给你: 基于类的面向对象 API; 一个完整的窗口系统
💻 JS
📖 第 1 页 / 共 5 页
字号:
    this.shownSubMenu = null;    this.eventListeners = null;    menuCache.remove(this);};function MenuButton(sLabelText, oSubMenu){    this.MenuItem = MenuItem;    this.MenuItem(sLabelText, null, null, oSubMenu);    this._hover = false;    this._useInsets = false;}MenuButton.prototype = new MenuItem;MenuButton.prototype.subMenuDirection = "vertical";MenuButton.prototype.scrollIntoView = function(){} ;MenuButton.prototype.toHtml = function(){    var cssClass = this.getCssClass();    var toolTip = this.getToolTip();    if (this.subMenu && !this.subMenu._onclose)        this.subMenu._onclose = new Function("eventListeners.menuButton.onclose(\"" + this.id + "\")");    return "<span unselectable=\"on\" "+(cssClass!=""?" class=\""+cssClass+"\"":"")+(toolTip!=""?" title=\""+toolTip+"\"":"")+(!this.visible?" style=\"display: none\"":"")+"><span unselectable=\"on\" class=\"left\"></span>" + "<span unselectable=\"on\" class=\"middle\">" + this.getTextHtml() + "</span>" + "<span unselectable=\"on\" class=\"right\"></span>"        + "</span>";};MenuButton.prototype.getCssClass = function(){    if (this.disabled && this._selected)        return "menu-button disabled-hover";    else if (this.disabled)        return "menu-button disabled";    else if (this._selected)    {        if (this.parentMenu.getActiveState() == "open")        {            return "menu-button active";        }        else            return "menu-button hover";    }    else if (this._hover)        return "menu-button hover";    return "menu-button ";};MenuButton.prototype.subMenuClosed = function(){    if (this.subMenu._closeReason == "escape")        this.setSelected(true);    else        this.setSelected(false);    if (this.parentMenu.getActiveState() == "inactive")        this.parentMenu.restoreFocused();};MenuButton.prototype.setSelected = function(bSelected){    var oldSelected = this._selected;    this._selected = Boolean(bSelected);    var tr = this._htmlElement;    if (tr)        tr.className = this.getCssClass();    if (this._selected == oldSelected)        return;    if (!this._selected)        this.closeSubMenu(true);    if (bSelected)    {        this.parentMenu.setSelectedIndex(this.itemIndex);        this.scrollIntoView();    }    else        this.parentMenu.setSelectedIndex(-1);};var eventListeners = {    menu: {    onkeydown: function(id){    var oThis = menuCache[id];    var w = oThis.getDocument().parentWindow;    oThis.handleKeyEvent(w.event);}, onunload: function(id){    if (id in menuCache)    {        menuCache[id].closeAllMenus();        menuCache[id].destroy();    }}, oncontextmenu: function(id){    var oThis = menuCache[id];    var w = oThis.getDocument().parentWindow;    w.event.returnValue = false;}, onscroll: function(id){    menuCache[id].fixScrollEnabledState();} , onmouseover: function(id){    var oThis = menuCache[id];    var w = oThis.getDocument().parentWindow;    var fromEl = getTrElement(w.event.fromElement);    var toEl = getTrElement(w.event.toElement);    if (toEl != null && toEl != fromEl)    {        var mi = toEl._menuItem;        if (mi)        {            if (!mi.disabled || oThis.mouseHoverDisabled)            {                mi.setSelected(true);                mi.showSubMenu(true);            }        }        else        {            if (toEl.className == "disabled" || toEl.className == "disabled-hover")                toEl.className = "disabled-hover";            else                toEl.className = "hover";            oThis.selectedIndex = -1;        }    }}, onmouseout: function(id){    var oThis = menuCache[id];    var w = oThis.getDocument().parentWindow;    var fromEl = getTrElement(w.event.fromElement);    var toEl = getTrElement(w.event.toElement);    if (fromEl != null && toEl != fromEl)    {        var id = fromEl.parentNode.parentNode.id;        var mi = fromEl._menuItem;        if (id == "scroll-up-item" || id == "scroll-down-item")        {            if (fromEl.className == "disabled-hover" || fromEl.className == "disabled")                fromEl.className = "disabled";            else                fromEl.className = "";            oThis.selectedIndex = -1;        }        else if (mi && (toEl != null || mi.subMenu == null || mi.disabled))        {            mi.setSelected(false);        }    }}, onmouseup: function(id){    var oThis = menuCache[id];    var w = oThis.getDocument().parentWindow;    var srcEl = getMenuItemElement(w.event.srcElement);    if (srcEl != null)    {        var id = srcEl.parentNode.parentNode.id;        if (id == "scroll-up-item" || id == "scroll-down-item")        {            return;        }        oThis.selectedIndex = srcEl.rowIndex;        var menuItem = oThis.items[oThis.selectedIndex];        menuItem.dispatchAction();    }}, onmousewheel: function(id){    var oThis = menuCache[id];    var d = oThis.getDocument();    var w = d.parentWindow;    var scrollContainer = d.getElementById("scroll-container");    scrollContainer.scrollTop -= 3 * w.event.wheelDelta / 120 * ScrollButton.scrollAmount;}, onreadystatechange: function(id){    var oThis = menuCache[id];    var d = oThis.getDocument();    var linkEl = d.getElementsByTagName("LINK")[0];    if (linkEl.readyState == "complete")    {        oThis.resetSizeCache();        oThis.fixSize();        oThis.fixScrollButtons();    }}, oncloseinterval: function(id){    menuCache[id]._checkCloseState();}},  menuItem: {    onshowtimer: function(id){    var oThis = menuCache[id];    var sm = oThis.subMenu;    var pm = oThis.parentMenu;    var selectedIndex = sm.getSelectedIndex();    pm.closeAllSubs(sm);    window.setTimeout("eventListeners.menuItem.onshowtimer2(\"" + id + "\")", 1);}, onshowtimer2: function(id){    var oThis = menuCache[id];    var sm = oThis.subMenu;    var selectedIndex = sm.getSelectedIndex();    oThis.positionSubMenu();    sm.setSelectedIndex(selectedIndex);    oThis.setSelected(true);}, onclosetimer: function(id){    var oThis = menuCache[id];    var sm = oThis.subMenu;    sm.close();}, onpositionsubmenutimer: function(id){    var oThis = menuCache[id];    var sm = oThis.subMenu;    sm.resetSizeCache();    oThis.positionSubMenu();    sm.setSelectedIndex(0);}},  menuBar: {    onmouseover: function(id){    var oThis = menuCache[id];    var e = oThis.getDocument().parentWindow.event;    var fromEl = getMenuItemElement(e.fromElement);    var toEl = getMenuItemElement(e.toElement);    if (toEl != null && toEl != fromEl)    {        var mb = toEl._menuItem;        var m = mb.parentMenu;        if (m.getActiveState() == "open")        {            window.setTimeout(function()            {                mb.dispatchAction();            } , 1);        }        else if (m.getActiveState() == "active")        {            mb.setSelected(true);        }        else        {            mb._hover = true;            toEl.className = mb.getCssClass();        }    }}, onmouseout: function(id){    var oThis = menuCache[id];    var e = oThis.getDocument().parentWindow.event;    var fromEl = getMenuItemElement(e.fromElement);    var toEl = getMenuItemElement(e.toElement);    if (fromEl != null && toEl != fromEl)    {        var mb = fromEl._menuItem;        mb._hover = false;        fromEl.className = mb.getCssClass();    }}, onmousedown: function(id){    var oThis = menuCache[id];    var e = oThis.getDocument().parentWindow.event;    if (e.button != MenuBar.leftMouseButton)        return;    var el = getMenuItemElement(e.srcElement);    if (el != null)    {        var mb = el._menuItem;        if (mb.subMenu)        {            mb.subMenu._checkCloseState();            if (new Date() - mb.subMenu._closedAt > 100)            {                mb.dispatchAction();            }            else            {                mb._hover = true;                mb._htmlElement.className = mb.getCssClass();            }        }    }}, onkeydown: function(id){    var oThis = menuCache[id];    var e = oThis.getDocument().parentWindow.event;    oThis.handleKeyEvent(e);}, onunload: function(id){    menuCache[id].destroy();} , ongotonextmenuitem: function(id){    var oThis = menuCache[id];    var mi = oThis.items[oThis.getSelectedIndex()];    mi.dispatchAction();    if (mi.subMenu)        mi.subMenu.setSelectedIndex(0);}, ongotopreviousmenuitem: function(id){    var oThis = menuCache[id];    var mi = oThis.items[oThis.getSelectedIndex()];    mi.dispatchAction();    if (mi.subMenu)        mi.subMenu.setSelectedIndex(0);}},  menuButton: {    onclose: function(id){    menuCache[id].subMenuClosed();}}};var _dm4_cssText = ".menu-body{background-color:Menu;color:MenuText;margin:0;padding:0;overflow:hidden;border:0;cursor:default}.menu-body .outer-border{border:1px solid;border-color:ThreeDLightShadow ThreeDDarkShadow ThreeDDarkShadow ThreeDLightShadow}.menu-body .inner-border{border:1px solid;border-color:ThreeDHighLight ThreeDShadow ThreeDShadow ThreeDHighLight;padding:1px;width:100%;height:100%}.menu-body td{font:menu}.menu-body .hover{background-color:Highlight;color:HighlightText}.menu-body td.empty-icon-cell{padding:0 2px 0 2px;border:0}.menu-body td.empty-icon-cell span{width:16px}.menu-body td.icon-cell{padding:0 2px 0 2px;border:0}.menu-body td.icon-cell img{width:16px;height:16px;margin:0}.menu-body td.label-cell{width:100%;padding:0 3px 0 3px}"        + ".menu-body td.shortcut-cell{padding:0px 3px 0px 3px}.menu-body td.arrow-cell{width:20px;padding:0px 2px 0px 0px;font-family:Webdings;font-size:80%}.menu-body .disabled .disabled-container{color:GrayText}.menu-body .disabled .icon-cell .disabled-container,.menu-body .disabled-hover .icon-cell .disabled-container{filter:gray() alpha(opacity=50);width:100%;height:100%}.menu-body .disabled-hover td{background-color:Highlight;color:GrayText}.menu-body td.separator{font-size:0.001mm;padding:4px 10px 4px 10px}.menu-body .separator-line{overflow:hidden;border-top:1px solid ThreeDShadow;border-bottom:1px solid ThreeDHighlight;height:2px}.menu-body #scroll-up-item td,.menu-body #scroll-down-item td{font-family:Webdings !important;text-align:center;padding:10px}.menu-body #scroll-up-item,.menu-body #scroll-down-item{width:100%}.menu-body #scroll-up-item td,.menu-body #scroll-down-item td{font-family:Webdings;text-align:center;padding:0px 3px 0px 3px;font-size:10px}.menu-body .check-box,.menu-body .radio-button{width:16px;text-align:center;vertical-align:middle}.menu-body .checked .check-box{font-family:Marlett;font-size:150%}.menu-body .checked .radio-button{font-family:Marlett;font-size:66%}.menu-bar{background:ButtonFace;cursor:default;padding:1px}.menu-bar .menu-button{background:ButtonFace;color:ButtonText;font:Menu;padding:3px 7px 3px 7px;border:0;margin:0;display:inline-block;white-space:nowrap;cursor:default}.menu-bar .menu-button.active{padding:3px 5px 1px 7px;border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow}.menu-bar .menu-button.hover{padding:2px 6px 2px 6px;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight}";var _dm4_styleSheet = document.createStyleSheet();_dm4_styleSheet.cssText = _dm4_cssText;Menu.prototype.cssText = _dm4_cssText;function BiMenu(){    BiEventTarget.call(this);    this._children = [];    this._dm4_menu = new Menu();    var oThis = this;    this._dm4_menu.onbeforeshow = function()    {        oThis.dispatchEvent(new BiEvent("beforeshow"));    } ;    this._dm4_menu.onshow = function()    {        oThis._showTimeStamp = new Date;        oThis.dispatchEvent(new BiEvent("show"));    };    this._dm4_menu.onclose = function()    {        oThis._hideTimeStamp = new Date;        oThis.dispatchEvent(new BiEvent("hide"));    };}var _p = BiMenu.prototype = new BiEventTarget;_p._className = "BiMenu";_p._parent = null;_p._left = 0;_p._top = 0;_p._width = null;_p._height = null;_p._component = null;_p._showTimeStamp = new Date(0);_p._hideTimeStamp = new Date(0);BiMenu.prototype.getShowTimeStamp = function(){    return this._showTimeStamp;} ;BiMenu.prototype.getHideTimeStamp = function(){    return this._hideTimeStamp;} ;_p.add = function(oChild, oBefore){    this._dm4_menu.add(oChild._dm4_menuItem, oBefore ? oBefore._dm4_menuItem : null);    var p = oChild._parent;    if (oBefore == null)    {        if (p != null)            p.remove(oChild);        this._children.push(oChild);    }    else    {        if (oBefore._parent != this)            throw new Error("Can only add components before siblings");        if (p != null)            p.remove(oChild);        this._children.insertBefore(oChild, oBefore);    }    oChild._parent = this;    this._invalidate();};_p.remove = function(oChild){    this._dm4_menu.remove(oChild._dm4_menuItem);    if (oChild._parent != this)        throw new Error("Can only remove children");    this._children.remove(oChild);    oChild._parent = null;    this._invalidate();    return oChild;};_p.removeAll = function(){    var cs = this.getChildren();    var l = cs.length;    for (var i = 0; i < l; i++)    {        this.remove(cs[i]);        cs[i].dispose();    }};BiMenu.prototype.getParent = function(){    return this._parent;} ;_p.getParentMenu = function(){    if (this._parent)        return this._parent.getParent();    return null;};BiMenu.prototype.getChildren = function(){    return this._children;} ;_p.hasChildren = function(){    return this._children.length > 0;} ;_p.getTopLevelComponent = function(){    if (this._parent == null)        return null;    return this._parent.getTopLevelComponent();};_p.contains = function(oDescendant){    if (oDescendant == this)        return true;    var p = oDescendant.getParent();    if (p == null)        return false;    return this.contains(p);};_p.getFirstChild = function(){    return this._children[0];} ;_p.getLastChild = function(){    return this._children[this._children.length - 1];} ;_p.setVisible =

⌨️ 快捷键说明

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