仿Windows关机效果:封装lightbox类

初始化数据时,为每个可高亮显示的链接创建了lightbox对象。该类的代码具体实现如下:

var lightbox = Class.create();
   lightbox.prototype = {
      yPos : 0,
      xPos : 0,
      //构造方法,ctrl为创建该对象的元素
      initialize: function(ctrl) {
          //将该元素的链接赋值给this.content
          this.content = ctrl.href;
          //为该元素添加onclick事件activate方法
          Event.observe(ctrl, 'click', this.activate.bindAsEventListener(this), false);
          ctrl.onclick = function(){return false;};
      },
      //当单击链接时
      activate: function(){
          if (browser == 'Internet Explorer'){//判断为IE浏览器
             this.getScroll();
             this.prepareIE('100%', 'hidden');
             this.setScroll(0,0);
             this.hideSelects('hidden');//隐藏所有的<select>标记
          }
          //调用该类中的displayLightbox方法
          this.displayLightbox("block");
      },
      prepareIE: function(height, overflow){
         bod = document.getElementsByTagName('body')[0];
         bod.style.height = height;
         bod.style.overflow = overflow;
         htm = document.getElementsByTagName('html')[0];
         htm.style.height = height;
         htm.style.overflow = overflow;
      },
      hideSelects: function(visibility){
        selects = document.getElementsByTagName('select');
        for(i = 0; i < selects.length; i++) {
            selects[i].style.visibility = visibility;
         }
      },
      getScroll: function(){
         if (self.pageYOffset) {
             this.yPos = self.pageYOffset;
         } else if (document.documentElement && document.documentElement.scrollTop){
             this.yPos = document.documentElement.scrollTop;
         } else if (document.body) {
             this.yPos = document.body.scrollTop;
         }
      },
      setScroll: function(x, y){
         window.scrollTo(x, y);
      },
displayLightbox: function(display){
         //将覆盖层显示
         $('overlay').style.display = display;
         //将高亮层显示
         $('lightbox').style.display = display;
         //如果不是隐藏状态,则调用该类中的loadInfo方法
         if(display != 'none') this.loadInfo();
      }
      //该方法发送Ajax请求
      loadInfo: function() {
         //当请求完成后调用本类中processInfo方法
         var myAjax = new Ajax.Request(
        this.content,
        {method: 'get', parameters: "", onComplete: this.processInfo.bindAsEvent Listener (this)}
        );
      },
      // 将返回的文本信息显示到高亮层上
      processInfo: function(response){
        //获得返回的文本数据
        var result = response.responseText;
        //显示到高亮层
        info = "<div id='lbContent'>" + result + "</div>";
        //在info元素前插入一个元素
        new Insertion.Before($('lbLoadMessage'), info)
        //改变该元素的class name的值
        $('lightbox').className = "done";
        //调用本类中actions方法
        this.actions();
        var ctrl=$('lightbox');
        //为高亮层添加事件处理方法reset
        Event.observe(ctrl, 'click', this.reset.bindAsEventListener(this), false);
        ctrl.onclick = function(){return false;};
      },
      //恢复初始状态
      reset:function(){
         //隐藏覆盖层
        $('overlay').style.display="none";
        //清空返回数据
         $('lbContent').innerHTML="";
         //隐藏高亮层
        $('lightbox').style.display="none";
     },
     // Search through new links within the lightbox, and attach click event
     actions: function(){
        lbActions = document.getElementsByClassName('lbAction');
        for(i = 0; i < lbActions.length; i++) {
            Event.observe(lbActions[i], 'click', this[lbActions[i].rel].bindAs EventListener(this), false);
            lbActions[i].onclick = function(){return false;};
        }
     }
   }

提示:由于该对象比较复杂,读者可以仔细参阅代码的注释部分。

时间: 2024-09-09 01:50:02

仿Windows关机效果:封装lightbox类的相关文章

用JavaScript实现仿Windows关机效果

javascript|window 基本原理分析 Windows关机效果分析使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机.注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态. 本例将仿照这种高亮显示的效果在网页上实现. 在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作.其次,将信息高亮显示,也可以提醒用户应该注意的事项.网页中实现关机效果分析在网页中

网页制作:JavaScript仿Windows关机效果

javascript|window|网页 基本原理分析 Windows关机效果分析 使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机.注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态. 本例将仿照这种高亮显示的效果在网页上实现. 在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作.其次,将信息高亮显示,也可以提醒用户应该注意的事项. 网页中实现关机效果分

JavaScript实现仿Windows关机效果

基本原理分析 Windows关机效果分析使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机.注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态. 本例将仿照这种高亮显示的效果在网页上实现. 在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作.其次,将信息高亮显示,也可以提醒用户应该注意的事项.网页中实现关机效果分析在网页中实现这种效果的原理很简单.创建两个图

用JavaScript实现仿Windows关机效果_javascript技巧

基本原理分析 Windows关机效果分析 使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机.注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态. 本例将仿照这种高亮显示的效果在网页上实现. 在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作.其次,将信息高亮显示,也可以提醒用户应该注意的事项. 网页中实现关机效果分析 在网页中实现这种效果的原理很简单.创建

实现windows关机效果代码

效果:使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机.注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态.Windows关机效果如图22.1所示. 网页中使用此效果好处:在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作.其次,将信息高亮显示,也可以提醒用户应该注意的事项. 原理:在网页中实现这种效果的原理很简单.创建两个图层,一个为遮盖层,覆盖整个页面

javascript仿XP关机效果的弹出窗口功能_javascript技巧

弹出窗口 下拉弹出窗口时会将其隐藏,关闭时会让其显示,目的是在IE中防止弹出的DIV挡不住下拉框 弹出窗口 弹出窗口

js实现仿Windows风格选项卡和按钮效果

  本文实例讲述了js实现仿Windows风格选项卡和按钮效果的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

js实现仿Windows风格选项卡和按钮效果实例_javascript技巧

本文实例讲述了js实现仿Windows风格选项卡和按钮效果的方法.分享给大家供大家参考.具体实现方法如下: <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head> <style type="text/css"> <!-- body{ font-family: 'MS Shell Dl

JS实现不使用图片仿Windows右键菜单效果代码_javascript技巧

本文实例讲述了JS实现不使用图片仿Windows右键菜单效果代码.分享给大家供大家参考,具体如下: 这里演示JS不使用图片仿Windows右键菜单效果,这款代码灵活使用了文鼎字,配合CSS和JS做出了这个和系统右键菜单很相似的东东. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-windows-right-button-menu-codes/ 具体代码如下: <HTML> <HEAD> <TITLE>极酷的多级右