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

📄 window.js

📁 ajax 聊天室,实现多人聊天,无刷新!
💻 JS
📖 第 1 页 / 共 4 页
字号:
          var bottom = parseFloat(this.element.getStyle('bottom'));           this.element.setStyle({bottom: (bottom - dh) + 'px'});        }      r2.show();              this.toFront();    }    Windows.notify("onMinimize", this);          // Store new location/size if need be      this._saveCookie()  },    maximize: function() {    if (this.storedLocation != null) {      this._restoreLocation();      if(this.iefix)            this.iefix.hide();    }    else {      this._storeLocation();      Windows.unsetOverflow(this);            var windowScroll = WindowUtilities.getWindowScroll();        var pageSize = WindowUtilities.getPageSize();             this.element.setStyle(this.useLeft ? {left: windowScroll.left} : {right: windowScroll.left});        this.element.setStyle(this.useTop ? {top: windowScroll.top} : {bottom: windowScroll.top});      this.setSize(pageSize.windowWidth - this.widthW - this.widthE, pageSize.windowHeight - this.heightN - this.heightS - (this.iefix ? 40 : 0))      this.toFront();      if (this.iefix)            this._fixIEOverlapping();     }      Windows.notify("onMaximize", this);      // Store new location/size if need be      this._saveCookie()  },    isMinimized: function() {    var r2 = $(this.getId() + "_row2");    return !r2.visible();  },    isMaximized: function() {    return (this.storedLocation != null);  },     setOpacity: function(opacity) {      if (Element.setOpacity)         Element.setOpacity(this.element, opacity);   },      setZIndex: function(zindex) {      this.element.setStyle({zIndex: zindex});      Windows.updateZindex(zindex, this);   },  setTitle: function(newTitle) {     if (!newTitle || newTitle == "")        newTitle = "&nbsp;";            Element.update(this.element.id + '_top', newTitle);  },   setStatusBar: function(element) {      var statusBar = $(this.getId() + "_bottom");    if (typeof(element) == "object") {      if (this.bottombar.firstChild)        this.bottombar.replaceChild(element, this.bottombar.firstChild);      else        this.bottombar.appendChild(element);    }    else        this.bottombar.innerHTML = element;   },   _checkIEOverlapping: function() {    if(!this.iefix && (navigator.appVersion.indexOf('MSIE')>0) && (navigator.userAgent.indexOf('Opera')<0) && (this.element.getStyle('position')=='absolute')) {        new Insertion.After(this.element.id, '<iframe id="' + this.element.id + '_iefix" '+ 'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' + 'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');        this.iefix = $(this.element.id+'_iefix');    }    if(this.iefix)          setTimeout(this._fixIEOverlapping.bind(this), 50);   },   _fixIEOverlapping: function() {       Position.clone(this.element, this.iefix);       this.iefix.style.zIndex = this.element.style.zIndex - 1;       this.iefix.show();   },      _getWindowBorderSize: function(event) {    // Hack to get real window border size!!    var div = this._createHiddenDiv(this.options.className + "_n")      this.heightN = Element.getDimensions(div).height;            div.parentNode.removeChild(div)    var div = this._createHiddenDiv(this.options.className + "_s")      this.heightS = Element.getDimensions(div).height;            div.parentNode.removeChild(div)    var div = this._createHiddenDiv(this.options.className + "_e")      this.widthE = Element.getDimensions(div).width;            div.parentNode.removeChild(div)    var div = this._createHiddenDiv(this.options.className + "_w")      this.widthW = Element.getDimensions(div).width;      div.parentNode.removeChild(div);      // Safari size fix      if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))        this.setSize(this.width, this.height);      if (this.doMaximize)        this.maximize();      if (this.doMinimize)        this.minimize();  },   _createHiddenDiv: function(className) {    var objBody = document.getElementsByTagName("body").item(0);    var win = document.createElement("div");      win.setAttribute('id', this.element.id+ "_tmp");      win.className = className;      win.style.display = 'none';      win.innerHTML = '';      objBody.insertBefore(win, objBody.firstChild);      return win;  },     _storeLocation: function() {     if (this.storedLocation == null) {       this.storedLocation = {useTop: this.useTop, useLeft: this.useLeft,                               top: this.element.getStyle('top'), bottom: this.element.getStyle('bottom'),                              left: this.element.getStyle('left'), right: this.element.getStyle('right'),                              width: this.width, height: this.height };     }   },     _restoreLocation: function() {    if (this.storedLocation != null) {      this.useLeft = this.storedLocation.useLeft;      this.useTop = this.storedLocation.useTop;            this.element.setStyle(this.useLeft ? {left: this.storedLocation.left} : {right: this.storedLocation.right});        this.element.setStyle(this.useTop ? {top: this.storedLocation.top} : {bottom: this.storedLocation.bottom});        this.setSize(this.storedLocation.width, this.storedLocation.height);              Windows.resetOverflow();        this._removeStoreLocation();    }  },    _removeStoreLocation: function() {    this.storedLocation = null;  },    _saveCookie: function() {    if (this.cookie) {        var value = "";        if (this.useLeft)           value += "l:" +  (this.storedLocation ? this.storedLocation.left : this.element.getStyle('left'))        else           value += "r:" + (this.storedLocation ? this.storedLocation.right : this.element.getStyle('right'))        if (this.useTop)           value += ",t:" + (this.storedLocation ? this.storedLocation.top : this.element.getStyle('top'))        else           value += ",b:" + (this.storedLocation ? this.storedLocation.bottom :this.element.getStyle('bottom'))                   value += "," + (this.storedLocation ? this.storedLocation.width : this.width);        value += "," + (this.storedLocation ? this.storedLocation.height : this.height);        value += "," + this.isMinimized();        value += "," + this.isMaximized();        WindowUtilities.setCookie(value, this.cookie)    }  }};// Windows containers, register all page windowsvar Windows = {  windows: [],  observers: [],  focusedWindow: null,  maxZIndex: 0,  addObserver: function(observer) {    this.removeObserver(observer);    this.observers.push(observer);  },    removeObserver: function(observer) {      this.observers = this.observers.reject( function(o) { return o==observer });  },    notify: function(eventName, win) {  //  onStartResize(), onResize(), onEndResize(), onStartMove(), onEndMove(), onClose(), onDestroy(), onMinimize(), onMaximize(), onHide(), onShow(), onFocus()    this.observers.each( function(o) {if(o[eventName]) o[eventName](eventName, win);});  },  // Gets window from its id  getWindow: function(id) {     return this.windows.detect(function(d) { return d.getId() ==id });  },  // Gets the last focused window  getFocusedWindow: function() {     return this.focusedWindow;  },  // Registers a new window (called by Windows constructor)  register: function(win) {    this.windows.push(win);  },    // Unregisters a window (called by Windows destructor)  unregister: function(win) {    this.windows = this.windows.reject(function(d) { return d==win });  },   // Closes a window with its id  close: function(id) {     var win = this.getWindow(id);     // Asks delegate if exists    if (win) {        if (win.getDelegate() && ! win.getDelegate().canClose(win))            return;         if ($(id + "_close"))           $(id + "_close").onclick = null;         if ($(id + "_minimize"))           $(id + "_minimize").onclick = null;                    if ($(id + "_maximize"))           $(id + "_maximize").onclick = null;                             this.notify("onClose", win);           win.hide();     }  },    // Closes all windows  closeAll: function() {      this.windows.each( function(w) {Windows.close(w.getId())} );  },    // Minimizes a window with its id  minimize: function(id) {     var win = this.getWindow(id)     if (win)       win.minimize();  },    // Maximizes a window with its id  maximize: function(id) {     var win = this.getWindow(id)     if (win)       win.maximize();  },    unsetOverflow: function(except) {           this.windows.each(function(d) { d.oldOverflow = d.getContent().getStyle("overflow") || "auto" ; d.getContent().setStyle({overflow: "hidden"}) });     if (except && except.oldOverflow)        except.getContent().setStyle({overflow: except.oldOverflow});  },  resetOverflow: function() {     this.windows.each(function(d) { if (d.oldOverflow) d.getContent().setStyle({overflow: d.oldOverflow}) });  },  updateZindex: function(zindex, win) {     if (zindex > this.maxZIndex)        this.maxZIndex = zindex;    this.focusedWindow = win;  }};var Dialog = {  dialogId: null,    win: null,  onCompleteFunc: null,  callFunc: null,   parameters: null,        confirm: function(content, parameters) {     // Get Ajax return before     if (typeof content != "string") {       Dialog._runAjaxRequest(content, parameters, Dialog.confirm);       return      }          parameters = parameters || {};      var okLabel = parameters.okLabel ? parameters.okLabel : "Ok";      var cancelLabel = parameters.cancelLabel ? parameters.cancelLabel : "Cancel";      var windowParam = parameters.windowParameters || {};      windowParam.className = windowParam.className || "alert";    okButtonClass = "class ='" + (parameters.buttonClass ? parameters.buttonClass + " " : "") + " ok_button'"     cancelButtonClass = "class ='" + (parameters.buttonClass ? parameters.buttonClass + " " : "") + " cancel_button'"       var content = "\         <div class='" + windowParam.className + "_message'>" + content  + "</div>\            <div class='" + windowParam.className + "_buttons'>\               <input type='button' value='" + okLabel + "' onclick='Dialog.okCallback()'" + okButtonClass + "/>\               <input type='button' value='" + cancelLabel + "' onclick='Dialog.cancelCallback()' " + cancelButtonClass + "/>\            </div>\      ";     this._openDialog(content, parameters)     return this.win   },      alert: function(content, parameters) {     // Get Ajax return before     if (typeof content != "string") {       Dialog._runAjaxRequest(content, parameters, Dialog.alert);       return      }          parameters = parameters || {};      var okLabel = parameters.okLabel ? parameters.okLabel : "Ok";

⌨️ 快捷键说明

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