//导航固定 var fixedbox=function(el){ this.element=el; this.boxy=getxy(this.element).y; } fixedbox.prototype={ setcss:function(){ var windowst=(document.compatmode && document.compatmode!="css1compat")? document.body.scrolltop:document.documentelement.scrolltop||window.pageyoffset; if(windowst>this.boxy){ this.element.style.csstext="position:fixed;top:0px;width:100%;z-index:110;left:0px;padding:0px;margin-top:0;opacity:1;background:#fff;border-bottom:0;box-shadow:0px 2px 5px 0px rgba(0,0,0,.15);"; }else{ this.element.style.csstext=""; } } }; //添加事件 function addevent(elm, evtype, fn, usecapture) { if (elm.addeventlistener) { elm.addeventlistener(evtype, fn, usecapture); return true; }else if (elm.attachevent) { var r = elm.attachevent('on' + evtype, fn); return r; } else { elm['on' + evtype] = fn; } } //获取元素的xy坐标; function getxy(el) { return document.documentelement.getboundingclientrect && (function() {//取元素坐标,如元素或其上层元素设置position relative var pos = el.getboundingclientrect(); return { x: pos.left + document.documentelement.scrollleft, y: pos.top + document.documentelement.scrolltop }; })() || (function() { var _x = 0, _y = 0; do { _x += el.offsetleft; _y += el.offsettop; } while (el = el.offsetparent); return { x: _x, y: _y }; })(); } //实例化; var diva=new fixedbox(document.getelementbyid("week_nav")); addevent(window,"scroll",function(){ diva.setcss(); });