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

📄 fader.js

📁 希望对你有用
💻 JS
字号:
/*fader.js * by www.1studio.net * Copyright (c) 2001. All Rights Reserved. * License to use is granted if and only if this entire copyright notice * is included. * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version.*///3.0 added more browser checks:NS4 = (document.layers);IE4 = (document.all);appVer = navigator.appVersion;IEmac = (IE4 && appVer.indexOf("Mac") != -1);IE4mac = (IEmac && appVer.indexOf("MSIE 4") != -1);IE40mac = (IE4mac && appVer.indexOf("4.0;") != -1);IE45mac = (IE4mac && appVer.indexOf("4.5;") != -1);NSpre401 = (NS4 && (parseFloat(appVer) <= 4.01));NSpre403 = (NS4 && (parseFloat(appVer) <= 4.03));//3.0 added next 2 line for backward compatibilityFDRjustFlip = (window.FDRjustFlip) ? FDRjustFlip : false;FDRhdlineCount = (window.FDRhdlineCount) ? FDRhdlineCount : 1;FDRfinite = (FDRmaxLoops > 0);FDRisOver = false;FDRloadCount = 0;//3.0 set blendTimer to null for IE40macblendTimer = null;if (!window.prefix) prefix = "";window.onload = FDRcountLoads;//3.0 modified NS-only code to account for flipper and lack of NS onload/onerror handlersif (NS4) {	if(FDRjustFlip || NSpre403) {		totalLoads = 1;		FDRfadeImg = new Object();		FDRfadeImg.width = FDRboxWid - (FDRborWid*2);;	}	else {		totalLoads = 2;		FDRfadeImg = new Image();		FDRfadeImg.onload = FDRcountLoads;		FDRfadeImg.onerror = FDRcountLoads;		FDRfadeImg.src = FDRgifSrc;	}}//3.0 added event argument for NSfunction FDRcountLoads(e) {	if (IE4) {		setTimeout("FDRinit()",1);	}	else {//3.0 check for event type		if(e.type == "error") FDRjustFlip = true; 		FDRloadCount++;		if (FDRloadCount==totalLoads) {			origWidth = innerWidth;			origHeight = innerHeight;			window.onresize = function(){				if (innerWidth==origWidth && innerHeight==origHeight) return;				location.reload();			}			FDRinit();		}	}}function FDRinit(){	if(!window.arNews) {		if(!window.arTXT || !window.arURL) return;		if(arTXT.length != arURL.length) return;		arNews = [];		for (i=0;i<arTXT.length;i++){			arNews[arNews.length] = arTXT[i];			arNews[arNews.length] = arURL[i];		}	}    if (NS4) {        if (!document.elFader) return;		with(document.classes.newslink.A) {			textDecoration = FDRlnkDec;			color = FDRlnkCol;			fontWeight = FDRfntWgh;			fontSize = FDRfntSiz;			fontStyle = FDRfntSty;			fontFamily = FDRfntFam;			lineHeight = FDRlinHgt;			textAlign = FDRtxtAln;		}		with(document.classes.nolink.P) {			color = FDRfntCol;			fontWeight = FDRfntWgh;			fontSize = FDRfntSiz;			fontStyle = FDRfntSty;			fontFamily = FDRfntFam;			lineHeight = FDRlinHgt;			textAlign = FDRtxtAln;		}        elFader = document.elFader;		with (elFader) {			document.write(" ");			document.close();			bgColor = FDRborCol;			clip.width = FDRboxWid;			clip.height = FDRboxHgt;		}		contWidth = FDRboxWid - (FDRborWid*2);		contHeight = FDRboxHgt - (FDRborWid*2);		elCont = new Layer(contWidth,elFader);		with (elCont) {			top = FDRborWid;			left = FDRborWid;			clip.width = contWidth;			clip.height = contHeight;			bgColor = FDRbackCol;			visibility = "inherit";		}		newsWidth = contWidth - (FDRboxPad*2);		newsHeight = contHeight - (FDRboxPad*2);        elNews = new Layer(newsWidth,elCont);		with (elNews) {			top = FDRboxPad;			left = FDRboxPad;			clip.width = newsWidth ;			clip.height = newsHeight;		}//3.0 made NS GIF use conditional on flipper choice				if (!FDRjustFlip) {			elGif = new Layer(contWidth,elCont); 	        imStr = "<IMG SRC='" + FDRgifSrc +"' WIDTH="+ Math.max(FDRfadeImg.width,(FDRboxWid - (FDRborWid*2)));//3.0 onError handler added to in-line GIF code for NS 4.03-			imStr += (NSpre403) ? " onError='window.FDRjustFlip = true'>" : ">";	        with (elGif) {				document.write(imStr);	        	document.close();				moveAbove(elNews);			}				imgHeight = elGif.document.height;			slideInc = (imgHeight/(FDRblendDur*1000/FDRgifInt));			startTop = -(imgHeight - FDRboxHgt);		}		elFader.visibility =  "show";    }    else {        if (!window.elFader) return;		elFader.innerHTML ="";		if(IE4mac) {			document.body.insertAdjacentHTML("BeforeBegin",">STYLE></STYLE>");		}		else {			if (!document.styleSheets.length) document.createStyleSheet();		}		with (document.styleSheets(document.styleSheets.length-1)) {			addRule("A.newslink","text-decoration:"+FDRlnkDec+";color:"+ FDRlnkCol);			addRule("A.newslink:hover","color:"+ FDRhovCol);		}		with (elFader.style) {//3.0 added box width/height adjustments for IEmac			errorOffset = (IE4mac) ? (FDRboxPad + FDRborWid) : 0;			width = FDRboxWid - (errorOffset * 2);			height = FDRboxHgt - (errorOffset * 2);			if(IE4mac && !IE45mac){				pixelLeft = elFader.offsetLeft + errorOffset;				pixelTop = elFader.offsetTop + errorOffset;			}			backgroundColor = FDRbackCol;			overflow = "hidden";			color = FDRfntCol;			fontWeight = FDRfntWgh;			fontSize = FDRfntSiz;			fontStyle = FDRfntSty;			fontFamily = FDRfntFam;			lineHeight = FDRlinHgt;			textAlign = FDRtxtAln;			cursor = "default";			visibility = "visible";			borderWidth = FDRborWid;			borderStyle = FDRborSty;			borderColor = FDRborCol;			padding  = FDRboxPad;//3.0 filter application conditional on fader use			if(!FDRjustFlip) filter = "blendTrans(duration=" + FDRblendDur + ")";		}		elFader.onselectstart = function(){return false};		IEhasFilters = (elFader.filters.blendTrans) ? true : false;    }//3.0 NS mouseover/out handlers applied only in 4.02+	if (!NSpre401) {		elFader.onmouseover = function (){			FDRisOver = true;		}		elFader.onmouseout = function(){			FDRisOver = false;			status = "";		}	}		FDRstart(0);}function FDRstart(ind){    newsCount = ind;    if (FDRfinite) loopCount = 0;    FDRdo();    blendTimer = setInterval("FDRdo()",FDRblendInt*1000)}function FDRdo() {//3.0 check for blendTimer value for IE40mac:	if(!blendTimer && loopCount>0) return;    if (FDRfinite && loopCount==FDRmaxLoops) {        FDRend();		return;    }	FDRfade();//3.0 omitted next line; newsCount incremented elsewhere//    newsCount += 2;    if (newsCount == arNews.length) {        newsCount = 0;        if (FDRfinite) loopCount++;    }}//3.0 added function for display string creationfunction FDRmakeStr(){	tempStr = "";	for (i=0;i<FDRhdlineCount;i++){		if(newsCount>=arNews.length)break;		dispStr = arNews[newsCount];		linkStr = arNews[newsCount+1];		isLink = linkStr.length;		if (isLink) {			tempStr += "<table cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#4F4F4F' width='100%'><tr><td width='100%' align='right'><A "					+ "HREF='" + prefix + linkStr + "' target='news'>"		            + dispStr + "</A></td></tr></table>"		}		else {			tempStr += ((NS4) ? "<table cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#4F4F4F' width='100%' valign='bottom'><tr><td width='100%' align='right'>" : "<table cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#4F4F4F' width='100%'><tr><td width='100%' align='right'>") +dispStr+"</td></tr></table>";		}        if(IE40mac) tempStr +="<BR>";		newsCount += 2;	}	return tempStr;}function FDRfade(){//3.0 newsStr now created in other function and returned here	newsStr = FDRmakeStr();    if (NS4) {//3.0 made GIF manipulation conditional on fader use		if (!FDRjustFlip) {			elGif.top = startTop;			elGif.visibility = "inherit";		}		elNews.visibility = "hide";        with (elNews.document) {            write(newsStr);            close();        }		elNews.visibility = "inherit";    }    else {        if(IEhasFilters)elFader.filters.blendTrans.Apply();        elFader.innerHTML = newsStr;        if(IEhasFilters)elFader.filters.blendTrans.Play();    }//3.0 status bar display now only when single headline displayed	if(FDRhdlineCount==1) window.status = (FDRisOver && isLink) ? (prefix + linkStr) : "";//3.0 NS GIF sliding condiional on fader use    if (NS4 && !FDRjustFlip) FDRslide();}function FDRslide(){    elGif.top += slideInc;    if (elGif.top >= 0) {elGif.visibility = "hide";return}    setTimeout("FDRslide()",FDRgifInt);}//3.0 new function for NS to avoid literal function declaration//    and allow double-click for 4.01a- versionsfunction FDRdblClickNS(){	elFader.releaseEvents(Event.DBLCLICK);	FDRstart(startIndex);	return false;}function FDRend(){	clearInterval(blendTimer);//3.0 set blendTimer to null for IE40mac	blendTimer = null;	if (FDRendWithFirst) {		newsCount = 0;		FDRfade();	}	if (FDRreplayOnClick) {//3.0 startIndex dependent on headline count		startIndex = FDRendWithFirst ? (FDRhdlineCount * 2) : 0;		if (IE4) {			elFader.title = "Double click to replay";			elFader.ondblclick = function(){				this.ondblclick = null;				this.title = "";				FDRstart(startIndex);			}		}		else {			elFader.captureEvents(Event.DBLCLICK);//3.0 moved handler to new function			elFader.ondblclick = FDRdblClickNS;		}    }}

⌨️ 快捷键说明

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