|
|
(18 intermediate revisions not shown) |
Line 1: |
Line 1: |
| <html lang="en"> | | <html lang="en"> |
- | <!--解决IE 6不支持png格式的代码-->
| |
- | <!--[if IE 6]>
| |
- | <script type="text/javascript">
| |
- | /**
| |
- | * DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>.
| |
- | * Author: Drew Diller
| |
- | * Email: drew.diller@gmail.com
| |
- | * URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/
| |
- | * Version: 0.0.8a
| |
- | * Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license
| |
- | *
| |
- | * Example usage:
| |
- | * DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector
| |
- | * DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement
| |
- | **/
| |
- |
| |
- | /*
| |
- | PLEASE READ:
| |
- | Absolutely everything in this script is SILLY. I know this. IE's rendering of certain pixels doesn't make sense, so neither does this code!
| |
- | */
| |
- |
| |
- | var DD_belatedPNG = {
| |
- | ns: 'DD_belatedPNG',
| |
- | imgSize: {},
| |
- | delay: 10,
| |
- | nodesFixed: 0,
| |
- | createVmlNameSpace: function () { /* enable VML */
| |
- | if (document.namespaces && !document.namespaces[this.ns]) {
| |
- | document.namespaces.add(this.ns, 'urn:schemas-microsoft-com:vml');
| |
- | }
| |
- | },
| |
- | createVmlStyleSheet: function () { /* style VML, enable behaviors */
| |
- | /*
| |
- | Just in case lots of other developers have added
| |
- | lots of other stylesheets using document.createStyleSheet
| |
- | and hit the 31-limit mark, let's not use that method!
| |
- | further reading: http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx
| |
- | */
| |
- | var screenStyleSheet, printStyleSheet;
| |
- | screenStyleSheet = document.createElement('style');
| |
- | screenStyleSheet.setAttribute('media', 'screen');
| |
- | document.documentElement.firstChild.insertBefore(screenStyleSheet, document.documentElement.firstChild.firstChild);
| |
- | if (screenStyleSheet.styleSheet) {
| |
- | screenStyleSheet = screenStyleSheet.styleSheet;
| |
- | screenStyleSheet.addRule(this.ns + '\\:*', '{behavior:url(#default#VML)}');
| |
- | screenStyleSheet.addRule(this.ns + '\\:shape', 'position:absolute;');
| |
- | screenStyleSheet.addRule('img.' + this.ns + '_sizeFinder', 'behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;'); /* large negative top value for avoiding vertical scrollbars for large images, suggested by James O'Brien, http://www.thanatopsic.org/hendrik/ */
| |
- | this.screenStyleSheet = screenStyleSheet;
| |
- |
| |
- | /* Add a print-media stylesheet, for preventing VML artifacts from showing up in print (including preview). */
| |
- | /* Thanks to R閙i Pr関ost for automating this! */
| |
- | printStyleSheet = document.createElement('style');
| |
- | printStyleSheet.setAttribute('media', 'print');
| |
- | document.documentElement.firstChild.insertBefore(printStyleSheet, document.documentElement.firstChild.firstChild);
| |
- | printStyleSheet = printStyleSheet.styleSheet;
| |
- | printStyleSheet.addRule(this.ns + '\\:*', '{display: none !important;}');
| |
- | printStyleSheet.addRule('img.' + this.ns + '_sizeFinder', '{display: none !important;}');
| |
- | }
| |
- | },
| |
- | readPropertyChange: function () {
| |
- | var el, display, v;
| |
- | el = event.srcElement;
| |
- | if (!el.vmlInitiated) {
| |
- | return;
| |
- | }
| |
- | if (event.propertyName.search('background') != -1 || event.propertyName.search('border') != -1) {
| |
- | DD_belatedPNG.applyVML(el);
| |
- | }
| |
- | if (event.propertyName == 'style.display') {
| |
- | display = (el.currentStyle.display == 'none') ? 'none' : 'block';
| |
- | for (v in el.vml) {
| |
- | if (el.vml.hasOwnProperty(v)) {
| |
- | el.vml[v].shape.style.display = display;
| |
- | }
| |
- | }
| |
- | }
| |
- | if (event.propertyName.search('filter') != -1) {
| |
- | DD_belatedPNG.vmlOpacity(el);
| |
- | }
| |
- | },
| |
- | vmlOpacity: function (el) {
| |
- | if (el.currentStyle.filter.search('lpha') != -1) {
| |
- | var trans = el.currentStyle.filter;
| |
- | trans = parseInt(trans.substring(trans.lastIndexOf('=')+1, trans.lastIndexOf(')')), 10)/100;
| |
- | el.vml.color.shape.style.filter = el.currentStyle.filter; /* complete guesswork */
| |
- | el.vml.image.fill.opacity = trans; /* complete guesswork */
| |
- | }
| |
- | },
| |
- | handlePseudoHover: function (el) {
| |
- | setTimeout(function () { /* wouldn't work as intended without setTimeout */
| |
- | DD_belatedPNG.applyVML(el);
| |
- | }, 1);
| |
- | },
| |
- | /**
| |
- | * This is the method to use in a document.
| |
- | * @param {String} selector - REQUIRED - a CSS selector, such as '#doc .container'
| |
- | **/
| |
- | fix: function (selector) {
| |
- | if (this.screenStyleSheet) {
| |
- | var selectors, i;
| |
- | selectors = selector.split(','); /* multiple selectors supported, no need for multiple calls to this anymore */
| |
- | for (i=0; i<selectors.length; i++) {
| |
- | this.screenStyleSheet.addRule(selectors[i], 'behavior:expression(DD_belatedPNG.fixPng(this))'); /* seems to execute the function without adding it to the stylesheet - interesting... */
| |
- | }
| |
- | }
| |
- | },
| |
- | applyVML: function (el) {
| |
- | el.runtimeStyle.cssText = '';
| |
- | this.vmlFill(el);
| |
- | this.vmlOffsets(el);
| |
- | this.vmlOpacity(el);
| |
- | if (el.isImg) {
| |
- | this.copyImageBorders(el);
| |
- | }
| |
- | },
| |
- | attachHandlers: function (el) {
| |
- | var self, handlers, handler, moreForAs, a, h;
| |
- | self = this;
| |
- | handlers = {resize: 'vmlOffsets', move: 'vmlOffsets'};
| |
- | if (el.nodeName == 'A') {
| |
- | moreForAs = {mouseleave: 'handlePseudoHover', mouseenter: 'handlePseudoHover', focus: 'handlePseudoHover', blur: 'handlePseudoHover'};
| |
- | for (a in moreForAs) {
| |
- | if (moreForAs.hasOwnProperty(a)) {
| |
- | handlers[a] = moreForAs[a];
| |
- | }
| |
- | }
| |
- | }
| |
- | for (h in handlers) {
| |
- | if (handlers.hasOwnProperty(h)) {
| |
- | handler = function () {
| |
- | self[handlers[h]](el);
| |
- | };
| |
- | el.attachEvent('on' + h, handler);
| |
- | }
| |
- | }
| |
- | el.attachEvent('onpropertychange', this.readPropertyChange);
| |
- | },
| |
- | giveLayout: function (el) {
| |
- | el.style.zoom = 1;
| |
- | if (el.currentStyle.position == 'static') {
| |
- | el.style.position = 'relative';
| |
- | }
| |
- | },
| |
- | copyImageBorders: function (el) {
| |
- | var styles, s;
| |
- | styles = {'borderStyle':true, 'borderWidth':true, 'borderColor':true};
| |
- | for (s in styles) {
| |
- | if (styles.hasOwnProperty(s)) {
| |
- | el.vml.color.shape.style[s] = el.currentStyle[s];
| |
- | }
| |
- | }
| |
- | },
| |
- | vmlFill: function (el) {
| |
- | if (!el.currentStyle) {
| |
- | return;
| |
- | } else {
| |
- | var elStyle, noImg, lib, v, img, imgLoaded;
| |
- | elStyle = el.currentStyle;
| |
- | }
| |
- | for (v in el.vml) {
| |
- | if (el.vml.hasOwnProperty(v)) {
| |
- | el.vml[v].shape.style.zIndex = elStyle.zIndex;
| |
- | }
| |
- | }
| |
- | el.runtimeStyle.backgroundColor = '';
| |
- | el.runtimeStyle.backgroundImage = '';
| |
- | noImg = true;
| |
- | if (elStyle.backgroundImage != 'none' || el.isImg) {
| |
- | if (!el.isImg) {
| |
- | el.vmlBg = elStyle.backgroundImage;
| |
- | el.vmlBg = el.vmlBg.substr(5, el.vmlBg.lastIndexOf('")')-5);
| |
- | }
| |
- | else {
| |
- | el.vmlBg = el.src;
| |
- | }
| |
- | lib = this;
| |
- | if (!lib.imgSize[el.vmlBg]) { /* determine size of loaded image */
| |
- | img = document.createElement('img');
| |
- | lib.imgSize[el.vmlBg] = img;
| |
- | img.className = lib.ns + '_sizeFinder';
| |
- | img.runtimeStyle.cssText = 'behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;'; /* make sure to set behavior to none to prevent accidental matching of the helper elements! */
| |
- | imgLoaded = function () {
| |
- | this.width = this.offsetWidth; /* weird cache-busting requirement! */
| |
- | this.height = this.offsetHeight;
| |
- | lib.vmlOffsets(el);
| |
- | };
| |
- | img.attachEvent('onload', imgLoaded);
| |
- | img.src = el.vmlBg;
| |
- | img.removeAttribute('width');
| |
- | img.removeAttribute('height');
| |
- | document.body.insertBefore(img, document.body.firstChild);
| |
- | }
| |
- | el.vml.image.fill.src = el.vmlBg;
| |
- | noImg = false;
| |
- | }
| |
- | el.vml.image.fill.on = !noImg;
| |
- | el.vml.image.fill.color = 'none';
| |
- | el.vml.color.shape.style.backgroundColor = elStyle.backgroundColor;
| |
- | el.runtimeStyle.backgroundImage = 'none';
| |
- | el.runtimeStyle.backgroundColor = 'transparent';
| |
- | },
| |
- | /* IE can't figure out what do when the offsetLeft and the clientLeft add up to 1, and the VML ends up getting fuzzy... so we have to push/enlarge things by 1 pixel and then clip off the excess */
| |
- | vmlOffsets: function (el) {
| |
- | var thisStyle, size, fudge, makeVisible, bg, bgR, dC, altC, b, c, v;
| |
- | thisStyle = el.currentStyle;
| |
- | size = {'W':el.clientWidth+1, 'H':el.clientHeight+1, 'w':this.imgSize[el.vmlBg].width, 'h':this.imgSize[el.vmlBg].height, 'L':el.offsetLeft, 'T':el.offsetTop, 'bLW':el.clientLeft, 'bTW':el.clientTop};
| |
- | fudge = (size.L + size.bLW == 1) ? 1 : 0;
| |
- | /* vml shape, left, top, width, height, origin */
| |
- | makeVisible = function (vml, l, t, w, h, o) {
| |
- | vml.coordsize = w+','+h;
| |
- | vml.coordorigin = o+','+o;
| |
- | vml.path = 'm0,0l'+w+',0l'+w+','+h+'l0,'+h+' xe';
| |
- | vml.style.width = w + 'px';
| |
- | vml.style.height = h + 'px';
| |
- | vml.style.left = l + 'px';
| |
- | vml.style.top = t + 'px';
| |
- | };
| |
- | makeVisible(el.vml.color.shape, (size.L + (el.isImg ? 0 : size.bLW)), (size.T + (el.isImg ? 0 : size.bTW)), (size.W-1), (size.H-1), 0);
| |
- | makeVisible(el.vml.image.shape, (size.L + size.bLW), (size.T + size.bTW), (size.W), (size.H), 1 );
| |
- | bg = {'X':0, 'Y':0};
| |
- | if (el.isImg) {
| |
- | bg.X = parseInt(thisStyle.paddingLeft, 10) + 1;
| |
- | bg.Y = parseInt(thisStyle.paddingTop, 10) + 1;
| |
- | }
| |
- | else {
| |
- | for (b in bg) {
| |
- | if (bg.hasOwnProperty(b)) {
| |
- | this.figurePercentage(bg, size, b, thisStyle['backgroundPosition'+b]);
| |
- | }
| |
- | }
| |
- | }
| |
- | el.vml.image.fill.position = (bg.X/size.W) + ',' + (bg.Y/size.H);
| |
- | bgR = thisStyle.backgroundRepeat;
| |
- | dC = {'T':1, 'R':size.W+fudge, 'B':size.H, 'L':1+fudge}; /* these are defaults for repeat of any kind */
| |
- | altC = { 'X': {'b1': 'L', 'b2': 'R', 'd': 'W'}, 'Y': {'b1': 'T', 'b2': 'B', 'd': 'H'} };
| |
- | if (bgR != 'repeat' || el.isImg) {
| |
- | c = {'T':(bg.Y), 'R':(bg.X+size.w), 'B':(bg.Y+size.h), 'L':(bg.X)}; /* these are defaults for no-repeat - clips down to the image location */
| |
- | if (bgR.search('repeat-') != -1) { /* now let's revert to dC for repeat-x or repeat-y */
| |
- | v = bgR.split('repeat-')[1].toUpperCase();
| |
- | c[altC[v].b1] = 1;
| |
- | c[altC[v].b2] = size[altC[v].d];
| |
- | }
| |
- | if (c.B > size.H) {
| |
- | c.B = size.H;
| |
- | }
| |
- | el.vml.image.shape.style.clip = 'rect('+c.T+'px '+(c.R+fudge)+'px '+c.B+'px '+(c.L+fudge)+'px)';
| |
- | }
| |
- | else {
| |
- | el.vml.image.shape.style.clip = 'rect('+dC.T+'px '+dC.R+'px '+dC.B+'px '+dC.L+'px)';
| |
- | }
| |
- | },
| |
- | figurePercentage: function (bg, size, axis, position) {
| |
- | var horizontal, fraction;
| |
- | fraction = true;
| |
- | horizontal = (axis == 'X');
| |
- | switch(position) {
| |
- | case 'left':
| |
- | case 'top':
| |
- | bg[axis] = 0;
| |
- | break;
| |
- | case 'center':
| |
- | bg[axis] = 0.5;
| |
- | break;
| |
- | case 'right':
| |
- | case 'bottom':
| |
- | bg[axis] = 1;
| |
- | break;
| |
- | default:
| |
- | if (position.search('%') != -1) {
| |
- | bg[axis] = parseInt(position, 10) / 100;
| |
- | }
| |
- | else {
| |
- | fraction = false;
| |
- | }
| |
- | }
| |
- | bg[axis] = Math.ceil( fraction ? ( (size[horizontal?'W': 'H'] * bg[axis]) - (size[horizontal?'w': 'h'] * bg[axis]) ) : parseInt(position, 10) );
| |
- | if (bg[axis] % 2 === 0) {
| |
- | bg[axis]++;
| |
- | }
| |
- | return bg[axis];
| |
- | },
| |
- | fixPng: function (el) {
| |
- | el.style.behavior = 'none';
| |
- | var lib, els, nodeStr, v, e;
| |
- | if (el.nodeName == 'BODY' || el.nodeName == 'TD' || el.nodeName == 'TR') { /* elements not supported yet */
| |
- | return;
| |
- | }
| |
- | el.isImg = false;
| |
- | if (el.nodeName == 'IMG') {
| |
- | if(el.src.toLowerCase().search(/\.png$/) != -1) {
| |
- | el.isImg = true;
| |
- | el.style.visibility = 'hidden';
| |
- | }
| |
- | else {
| |
- | return;
| |
- | }
| |
- | }
| |
- | else if (el.currentStyle.backgroundImage.toLowerCase().search('.png') == -1) {
| |
- | return;
| |
- | }
| |
- | lib = DD_belatedPNG;
| |
- | el.vml = {color: {}, image: {}};
| |
- | els = {shape: {}, fill: {}};
| |
- | for (v in el.vml) {
| |
- | if (el.vml.hasOwnProperty(v)) {
| |
- | for (e in els) {
| |
- | if (els.hasOwnProperty(e)) {
| |
- | nodeStr = lib.ns + ':' + e;
| |
- | el.vml[v][e] = document.createElement(nodeStr);
| |
- | }
| |
- | }
| |
- | el.vml[v].shape.stroked = false;
| |
- | el.vml[v].shape.appendChild(el.vml[v].fill);
| |
- | el.parentNode.insertBefore(el.vml[v].shape, el);
| |
- | }
| |
- | }
| |
- | el.vml.image.shape.fillcolor = 'none'; /* Don't show blank white shapeangle when waiting for image to load. */
| |
- | el.vml.image.fill.type = 'tile'; /* Makes image show up. */
| |
- | el.vml.color.fill.on = false; /* Actually going to apply vml element's style.backgroundColor, so hide the whiteness. */
| |
- | lib.attachHandlers(el);
| |
- | lib.giveLayout(el);
| |
- | lib.giveLayout(el.offsetParent);
| |
- | el.vmlInitiated = true;
| |
- | lib.applyVML(el); /* Render! */
| |
- | }
| |
- | };
| |
- | try {
| |
- | document.execCommand("BackgroundImageCache", false, true); /* TredoSoft Multiple IE doesn't like this, so try{} it */
| |
- | } catch(r) {}
| |
- | DD_belatedPNG.createVmlNameSpace();
| |
- | DD_belatedPNG.createVmlStyleSheet();
| |
- |
| |
- | </script>
| |
- | <script type="text/javascript">
| |
- | DD_belatedPNG.fix('.h80');
| |
- | </script>
| |
- | <![endif]-->
| |
- | <!--[if IE]>
| |
- | <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
| |
- | </script>
| |
- | <![endif]-->
| |
| | | |
| <style type="text/css"> | | <style type="text/css"> |
- |
| |
- |
| |
- |
| |
| body{ padding:0; margin:0; background:url(/wiki/images/e/e9/57_1958.jpg);} | | body{ padding:0; margin:0; background:url(/wiki/images/e/e9/57_1958.jpg);} |
| #nd-header{ width:1000px; height:37px; background:url(https://static.igem.org/mediawiki/2012/b/be/Headerbg.jpg) repeat-x left top;overflow:hidden} | | #nd-header{ width:1000px; height:37px; background:url(https://static.igem.org/mediawiki/2012/b/be/Headerbg.jpg) repeat-x left top;overflow:hidden} |
- | #globalWrapper{overflow: hidden;background:url(https://static.igem.org/mediawiki/2012/c/c9/Bg.gif) left top; width:100%} | + | #globalWrapper{overflow: hidden;background:url(/wiki/images/e/e9/57_1958.jpg); width:100%} |
- | #content {border: none;font-family: georgia, helvetica, arial, sans-serif;width:1000px; height:771px; background:url(https://static.igem.org/mediawiki/2012/c/c9/Bg.gif) left top; overflow:hidden; margin:0 auto} | + | #content {border: none;font-family: georgia, helvetica, arial, sans-serif;width:1000px; background:none; overflow:hidden; margin:0 auto} |
| #siteSub {display:none;} | | #siteSub {display:none;} |
| #contentSub {display:none;} | | #contentSub {display:none;} |
Line 358: |
Line 14: |
| #footer{ width:1000px; margin:0 auto} | | #footer{ width:1000px; margin:0 auto} |
| #mblink a {text-decoration:none;} | | #mblink a {text-decoration:none;} |
- |
| |
| #top-section { width:100%;height:21px; line-height:21px; background:url(/wiki/images/c/c3/57_21.jpg) repeat-x;overflow:hidden; border:none; margin:0px;} | | #top-section { width:100%;height:21px; line-height:21px; background:url(/wiki/images/c/c3/57_21.jpg) repeat-x;overflow:hidden; border:none; margin:0px;} |
- |
| |
| #p-logo {display:none;} | | #p-logo {display:none;} |
| #search-controls {display: none;} | | #search-controls {display: none;} |
Line 370: |
Line 24: |
| #menubar a:active,#menubar a:hover,#menubar a:link,#menubar a:visited {color: #FC0;} | | #menubar a:active,#menubar a:hover,#menubar a:link,#menubar a:visited {color: #FC0;} |
| .firstHeading {display: none;} | | .firstHeading {display: none;} |
- |
| |
| | | |
| | | |
Line 402: |
Line 55: |
| #navMenu li.none a{ border-right:none} | | #navMenu li.none a{ border-right:none} |
| #navMenu li a:hover, #navMenu li.hover a {color:#FF7B0E;} | | #navMenu li a:hover, #navMenu li.hover a {color:#FF7B0E;} |
- | /*-------- 下拉菜单 --------------*/
| |
- | .dropMenu {position:absolute; top:0; z-index:10;width: 140px;visibility: hidden; margin-top: 5px;margin-left:-12px;_margin-left:-455px; _margin-top:-250px; background:#333;padding-top:6px;padding-bottom:6px;filter: Alpha(Opacity=60); -moz-opacity:0.6; opacity: 0.6; }
| |
- | .dropMenu li { margin-top:2px;margin-bottom:4px; }
| |
- | .dropMenu li a{width: 100%;display: block;text-align:center; color:#FFF; padding-bottom:6px; padding-top:4px; border-bottom: 1px dashed #CCC; font-size:14px;}
| |
- | .dropMenu+li a{border-top:none;}
| |
- | * html .dropMenu a {width: 100%;color:#FFF;}
| |
- | .dropMenu a:hover {color:#F09C42;}
| |
- | .hdo{width:100%;height:auto;display:block;overflow:hidden;}
| |
- |
| |
| /* footer end */ | | /* footer end */ |
| | | |
| /* content begin*/ | | /* content begin*/ |
- | .con{width:976px; min-height:1500px; height:auto; margin:0 auto; background:url(/wiki/images/8/81/976_727.jpg) repeat-y;} | + | .con{width:976px; height:auto; margin:0 auto; background:url(/wiki/images/8/81/976_727.jpg) repeat-y; padding-bottom:20px;} |
- | .place{ background:url(/wiki/images/3/31/Palcebg.gif) no-repeat; width:875px; height:60px; float:left} | + | .place{ background:url(/wiki/images/3/31/Palcebg.gif) no-repeat; width:875px; height:60px; margin:0 auto} |
| .place span.p{ float:left; color:#000; font-size:14px; font-weight:bold; text-indent:30px;} | | .place span.p{ float:left; color:#000; font-size:14px; font-weight:bold; text-indent:30px;} |
| .place span.p2{ float:right; color:#666} | | .place span.p2{ float:right; color:#666} |
| .place span.p2 a{ font-size:12px; color:#666} | | .place span.p2 a{ font-size:12px; color:#666} |
- | .bar{ background:url(/wiki/images/7/78/Aboutbar.gif) no-repeat 0 -35px; width:875px; height:35px; float:left} | + | .bar{ background:url(/wiki/images/7/78/Aboutbar.gif) no-repeat 0 -35px; width:875px; height:35px; margin:0 auto} |
| .bar a{ float:left; display:block; width:102px; height:27px;} | | .bar a{ float:left; display:block; width:102px; height:27px;} |
| .bar a.link{ margin-left:11px; display:inline} | | .bar a.link{ margin-left:11px; display:inline} |
Line 454: |
Line 98: |
| <li class="none"><a href='/Team:Nanjing_China_Bio/safety'>SAFETY</a></li> | | <li class="none"><a href='/Team:Nanjing_China_Bio/safety'>SAFETY</a></li> |
| </div> | | </div> |
- | <script type="text/javascript">
| |
- | var cssdropdown={
| |
- | disappeardelay: 250,
| |
- | disablemenuclick: false,
| |
- | enableswipe: 1,
| |
- | enableiframeshim: 1,
| |
- | dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0,
| |
- |
| |
- | getposOffset:function(what, offsettype){
| |
- | var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
| |
- | var parentEl=what.offsetParent;
| |
- | while (parentEl!=null){
| |
- | totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
| |
- | parentEl=parentEl.offsetParent;
| |
- | }
| |
- | return totaloffset;
| |
- | },
| |
- |
| |
- | swipeeffect:function(){
| |
- | if (this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){
| |
- | this.bottomclip+=10+(this.bottomclip/10)
| |
- | this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"
| |
- | }
| |
- | else
| |
- | return
| |
- | this.swipetimer=setTimeout("cssdropdown.swipeeffect()", 10)
| |
- | },
| |
- |
| |
- | showhide:function(obj, e){
| |
- | if (this.ie || this.firefox)
| |
- | this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
| |
- | if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){
| |
- | if (this.enableswipe==1){
| |
- | if (typeof this.swipetimer!="undefined")
| |
- | clearTimeout(this.swipetimer)
| |
- | obj.clip="rect(0 auto 0 0)"
| |
- | this.bottomclip=0
| |
- | this.swipeeffect()
| |
- | }
| |
- | obj.visibility="visible"
| |
- | }
| |
- | else if (e.type=="click")
| |
- | obj.visibility="hidden"
| |
- | },
| |
- |
| |
- | iecompattest:function(){
| |
- | return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
| |
- | },
| |
- |
| |
- | clearbrowseredge:function(obj, whichedge){
| |
- | var edgeoffset=0
| |
- | if (whichedge=="rightedge"){
| |
- | var windowedge=this.ie && !window.opera? this.iecompattest().scrollLeft+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
| |
- | this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
| |
- | if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)
| |
- | edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
| |
- | }
| |
- | else{
| |
- | var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset
| |
- | var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
| |
- | this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
| |
- | if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){
| |
- | edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
| |
- | if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure)
| |
- | edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
| |
- | }
| |
- | }
| |
- | return edgeoffset
| |
- | },
| |
- |
| |
- | dropit:function(obj, e, dropmenuID){
| |
- | if (this.dropmenuobj!=null)
| |
- | this.dropmenuobj.style.visibility="hidden"
| |
- | this.clearhidemenu()
| |
- | if (this.ie||this.firefox){
| |
- | obj.onmouseout=function(){cssdropdown.delayhidemenu()}
| |
- | obj.onclick=function(){return !cssdropdown.disablemenuclick}
| |
- | this.dropmenuobj=document.getElementById(dropmenuID)
| |
- | if(!this.dropmenuobj) return;
| |
- | this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}
| |
- | this.dropmenuobj.onmouseout=function(e){cssdropdown.dynamichide(e)}
| |
- | this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
| |
- | this.showhide(this.dropmenuobj.style, e)
| |
- | this.dropmenuobj.x=this.getposOffset(obj, "left")
| |
- | this.dropmenuobj.y=this.getposOffset(obj, "top")
| |
- | this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
| |
- | this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"
| |
- | this.positionshim()
| |
- | }
| |
- | },
| |
- |
| |
- | positionshim:function(){
| |
- | if (this.enableiframeshim && typeof this.shimobject!="undefined"){
| |
- | if (this.dropmenuobj.style.visibility=="visible"){
| |
- | this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"
| |
- | this.shimobject.style.height=this.dropmenuobj.offsetHeight+"px"
| |
- | this.shimobject.style.left=this.dropmenuobj.style.left
| |
- | this.shimobject.style.top=this.dropmenuobj.style.top
| |
- | }
| |
- | this.shimobject.style.display=(this.dropmenuobj.style.visibility=="visible")? "block" : "none"
| |
- | }
| |
- | },
| |
- |
| |
- | hideshim:function(){
| |
- | if (this.enableiframeshim && typeof this.shimobject!="undefined")
| |
- | this.shimobject.style.display='none'
| |
- | },
| |
- |
| |
- | contains_firefox:function(a, b) {
| |
- | while (b.parentNode)
| |
- | if ((b = b.parentNode) == a)
| |
- | return true;
| |
- | return false;
| |
- | },
| |
- |
| |
- | dynamichide:function(e){
| |
- | var evtobj=window.event? window.event : e
| |
- | if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))
| |
- | this.delayhidemenu()
| |
- | else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget))
| |
- | this.delayhidemenu()
| |
- | },
| |
- |
| |
- | delayhidemenu:function(){
| |
- | this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'; cssdropdown.hideshim()",this.disappeardelay)
| |
- | },
| |
- |
| |
- | clearhidemenu:function(){
| |
- | if (this.delayhide!="undefined")
| |
- | clearTimeout(this.delayhide)
| |
- | },
| |
- |
| |
- | startchrome:function(){
| |
- | for (var ids=0; ids<arguments.length; ids++){
| |
- | var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
| |
- | for (var i=0; i<menuitems.length; i++){
| |
- | if (menuitems[i].getAttribute("rel")){
| |
- | var relvalue=menuitems[i].getAttribute("rel")
| |
- | menuitems[i].onmouseover=function(e){
| |
- | var event=typeof e!="undefined"? e : window.event
| |
- | cssdropdown.dropit(this,event,this.getAttribute("rel"))
| |
- | }
| |
- | }
| |
- | }
| |
- | }
| |
- | if (window.createPopup && !window.XmlHttpRequest){
| |
- | document.write('<IFRAME id="iframeshim" src="" style="display: none; left: 0; top: 0; z-index: 90; position: absolute; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" frameBorder="0" scrolling="no"></IFRAME>')
| |
- | this.shimobject=document.getElementById("iframeshim")
| |
- | }
| |
- | }
| |
- |
| |
- | }
| |
- | </script>
| |
- | <ul id="dropmenu1" class="dropMenu">
| |
- | <li><a href="/Team:Nanjing_China_Bio/team">TEAM</a></li>
| |
- | <li><a href="/Team:Nanjing_China_Bio/member">MEMBER</a></li>
| |
- | <li><a href="/Team:Nanjing_China_Bio/university">UNIVERSITY</a></li>
| |
- | <li><a href="/Team:Nanjing_China_Bio/sponsors">SPONSORS</a></li>
| |
- | </ul>
| |
- | <ul id="dropmenu2" class="dropMenu">
| |
- | <li><a href="/Team:Nanjing_China_Bio/background">BACKGROUND</a></li>
| |
- | <li><a href="/Team:Nanjing_China_Bio/methods">METHODS</a></li>
| |
- | </ul>
| |
- | <ul id="dropmenu3" class="dropMenu">
| |
- | <li><a href="/Team:Nanjing_China_Bio/parts">Parts Submitted</a></li>
| |
- | <li><a href="/Team:Nanjing_China_Bio/future">Future Direction</a></li>
| |
- | </ul>
| |
- | <script type="text/javascript">cssdropdown.startchrome("navMenu")</script>
| |
| <!--//nav--> | | <!--//nav--> |
| </div> | | </div> |
Line 698: |
Line 174: |
| </ul> | | </ul> |
| </div> | | </div> |
- |
| + | <br style="clear:both" /> |
| </div> | | </div> |
| <!--content end--> | | <!--content end--> |