// 使用Dom方法创建覆盖层和高亮层 function addLightboxMarkup() { bod = document.getElementsByTagName('body')[0]; overlay = document.createElement('div'); overlay.id = 'overlay'; lb = document.createElement('div'); lb.id = 'lightbox'; lb.className = 'loading'; lb.innerHTML = '<div id="lbLoadMessage">' + '<p>Loading</p>' + '</div>'; bod.appendChild(overlay); bod.appendChild(lb); } 封装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"); }, |