主题:[分享]滚动图片切换连播(JavaScript特效|JS特效源代码)
经本人修改可以兼容FireFox,但由于FF不支持IE的CSS滤镜,所以效果单调了一些!
调用时一般通过一个<iframe>来放此代码的。
演示地址: http://www.28wd.com
[quote]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
<title>滚动图片切换连播</title>
<style type="text/css">
<!--
@charset "gb2312";
table,td,select,input,div {font-size:12px;}
body { font-size:12px; padding:0px; margin:0px; height:auto;}
a img {border:none;}
form,input,select,ul,li{margin:0px;padding:0px;}
/* 数字按钮框样式 */
#imgTitle {position:relative;left:0px;text-align:left;overflow: hidden;}
#imgTitle_up {left:0px;text-align: left; height:1px; width:inherit; }
#imgTitle_down {left:0px;text-align: right; width:inherit; }
/* 图片框样式 */
.imgClass {border: none;}
/* 图片文字框样式 */
#txtFrom {text-align: center;vertical-align: middle;}
/* 数字按钮样式 */
.button {text-decoration: none;padding: 2px 7px;background: none;margin: 0px;font: bold 11px sans-serif; border-left:#fff 1px solid;}
a.button, a.button:link, a.button:visited {font-family: sans-serif;text-decoration: none;color:#FFFFFF;}
a.button:hover {font-family: sans-serif;text-decoration: none;color:#FFFFFF;}
.buttonDiv {background: #000000;height: 1px;width: 21px;float: left;text-align: center; vertical-align: middle;}
/*渐变*/
.trans { width:90px; background-color:#000;}
-->
</style>
<!--[if IE]>
<style type="text/css">
@charset "gb2312";
table,td,select,input,div {font-size:12px;}
body { font-size:12px; padding:0px; margin:0px; height:auto;}
a img {border:none;}
form,input,select,ul,li{margin:0px;padding:0px;}
/* 数字按钮框样式 */
#imgTitle {FILTER:ALPHA(opacity=70);position:relative;left:0px;text-align:left;overflow: hidden;}
#imgTitle_up {left:0px;text-align: left; height:1px; width:inherit; }
#imgTitle_down {left:0px;text-align: right; width:inherit; }
/* 图片框样式 */
.imgClass {border: 0px solid #000;}
/* 图片文字框样式 */
#txtFrom {text-align: center;vertical-align: middle;}
/* 数字按钮样式 */
.button {text-decoration: none;padding: 2px 7px;background: #7B7B63;margin: 0px;font: bold 9px sans-serif; border-left:#fff 1px solid;}
a.button, a.button:link, a.button:visited {font-family: sans-serif;text-decoration: none;color:#FFFFFF;background-color: #000000;}
a.button:hover {font-family: sans-serif;text-decoration: none;color:#fff;background:#fff; }
.buttonDiv {background: #000000;height: 1px;width: 21px;float: left;text-align: center; vertical-align: middle;}
/*渐变*/
.trans { width:90px; background-color:#000;filter : progid:DXImageTransform.Microsoft.Alpha(startX=0, startY=0, finishX=100, finishY=100,style=1,opacity=0,finishOpacity=40);}
</style>
<![endif]-->
</head>
<body>
<script language="javascript" type="text/javascript">
var imgWidth=365; //图片宽
var imgHeight=120; //图片高
var textFromHeight=0; //焦点字框高度 (单位为px)
var textStyle="f12"; //焦点字class style (不是连接class)
var textLinkStyle="p1"; //焦点字连接class style
var buttonLineOn="#f60"; //button下划线on的颜色
var buttonLineOff="#000"; //button下划线off的颜色
var TimeOut=5000; //每张图切换时间 (单位毫秒);
var imgUrl=new Array();
var imgLink=new Array();
var imgtext=new Array();
var imgAlt=new Array();
var adNum=0;
imgUrl[1]='http://www.pconline.com.cn/test/toptitle/images/picpath/mengxiangzhaojinxianshikuan.jpg';
imgtext[1]='<a href="http://www.pconline.com.cn/comm/chnews/comm070326/index2.htm" target="_blank" class="'+textLinkStyle+'">通信</a>';
imgLink[1]='http://www.pconline.com.cn/comm/chnews/comm070326/index2.htm';
imgAlt[1]='通信';
imgUrl[2]='http://www.pconline.com.cn/test/toptitle/images/picpath/070329_buy_pricedown_365.jpg';
imgtext[2]='<a href="http://www.pconline.com.cn/mobile/guide/time/0703/989014.html" target="_blank" class="'+textLinkStyle+'">手机</a>';
imgLink[2]='http://www.pconline.com.cn/mobile/guide/time/0703/989014.html';
imgAlt[2]='手机';
imgUrl[3]='http://www.pconline.com.cn/test/toptitle/images/picpath/070330BBS365.jpg';
imgtext[3]='<a href="http://www.pconline.com.cn/pcclub/" target="_blank" class="'+textLinkStyle+'">论坛</a>';
imgLink[3]='http://www.pconline.com.cn/pcclub/';
imgAlt[3]='论坛';
imgUrl[4]='http://www.pconline.com.cn/test/toptitle/images/picpath/070331365120.jpg';
imgtext[4]='<a href="http://dp.pconline.com.cn/photoblog/page.do?method=photosPage&aid=5320583" target="_blank" class="'+textLinkStyle+'">摄影部落</a>';
imgLink[4]='http://dp.pconline.com.cn/photoblog/page.do?method=photosPage&aid=5320583';
imgAlt[4]='摄影部落';
document.write('<div id="focuseFrom" style="width:'+(imgWidth+2)+';margin: 0px; padding:0px;height:'+(imgHeight+textFromHeight)+'px; overflow:hidden;">');
function changeimg(n)
{
adNum=n;
window.clearInterval(theTimer);
adNum=adNum-1;
nextAd();
}
function goUrl(){
window.open(imgLink[adNum],'_blank');
}
//NetScape开始
if (navigator.appName == "Netscape")
{
var count=0;
for (i=1;i<imgUrl.length;i++) {
if( (imgUrl[ i ]!="") && (imgLink[ i ]!="")&&(imgtext[ i ]!="")&&(imgAlt[ i ]!="") ) {
count++;
} else {
break;
}
}
function nextAd(){
if(adNum<(imgUrl.length-1))adNum++;
else adNum=1;
theTimer=setTimeout("nextAd()", TimeOut);
document.images.imgInit.src=imgUrl[adNum];
document.images.imgInit.alt=imgAlt[adNum];
document.getElementById('focustext').innerHTML=imgtext[adNum];
document.getElementById('imgLink').href=imgLink[adNum];
document.getElementById('link'+adNum).style.background=buttonLineOn;
for (var i=1;i<=count;i++)
{
if (i!=adNum){document.getElementById('link'+i).style.background=buttonLineOff;}
}
}
document.write('<a id="imgLink" href="'+imgLink[1]+'" target=_blank class="p1"><img src="'+imgUrl[1]+'" name="imgInit" width='+imgWidth+' height='+imgHeight+' border=1 alt="'+imgAlt[1]+'" class="imgClass"></a>');
document.write('<div id="txtFrom" style="height:'+textFromHeight+'px;line-height:'+textFromHeight+'px;width:'+imgWidth+'px;overflow:hidden;"><span id="focustext" class="'+textStyle+'">'+imgtext[1]+'</span></div>');
document.write('<div id="imgTitle" style="width:'+imgWidth+';top:-'+(textFromHeight+13)+'px;height:13px">');
document.write('<div id="imgTitle_down">');
//数字按钮代码开始
for(var i=1;i<imgUrl.length;i++){document.write('<a id="link'+i+'" href="javascript:changeimg('+i+')" class="button" style="cursor:hand" title="'+imgAlt[ i ]+'" onfocus="this.blur()">'+i+'</a>');}
//数字按钮代码结束
document.write('</div>');
document.write('</div>');
document.write('</div>');
nextAd();
}
//NetScape结束
//IE开始
else
{
var count=0;
for (i=1;i<imgUrl.length;i++) {
if( (imgUrl[ i ]!="") && (imgLink[ i ]!="")&&(imgtext[ i ]!="")&&(imgAlt[ i ]!="") ) {
count++;
} else {
break;
}
}
function playTran(){
if (document.all)
imgInit.filters.revealTrans.play();
}
var key=0;
function nextAd(){
if(adNum<count)adNum++ ;
else adNum=1;
if( key==0 ){
key=1;
} else if (document.all) {
imgInit.filters.revealTrans.Transition=6;
imgInit.filters.revealTrans.apply();
playTran();
}
document.images.imgInit.src=imgUrl[adNum];
document.images.imgInit.alt=imgAlt[adNum];
document.getElementById('link'+adNum).style.background=buttonLineOn;
for (var i=1;i<=count;i++)
{
if (i!=adNum){document.getElementById('link'+i).style.background=buttonLineOff;}
}
focustext.innerHTML=imgtext[adNum];
theTimer=setTimeout("nextAd()", TimeOut);
}
document.write('<a target="_self" href="javascript:goUrl()"><img style="FILTER: revealTrans(duration=1,transition=5);" src="javascript:nextAd()" width="'+imgWidth+'" height="'+imgHeight+'" border="0" vspace="0" name="imgInit" class="imgClass"></a>');
document.write('<div id="txtFrom" style="height:'+textFromHeight+'px;line-height:'+textFromHeight+'px;width:'+imgWidth+'px;overflow:hidden;"><span id="focustext" class="'+textStyle+'"></span></div>');
document.write('<div id="imgTitle" style="width:'+imgWidth+';top:-'+(textFromHeight+16)+'px;height:18px">');
document.write(' <div id="imgTitle_down"> <a class="trans"></a>');
//数字按钮代码开始
for(var i=1;i<imgUrl.length;i++){document.write('<a id="link'+i+'" href="javascript:changeimg('+i+')" class="button" style="cursor:hand" title="'+imgAlt[ i ]+'" onfocus="this.blur()">'+i+'</a>');}
//数字按钮代码结束
document.write('</div>');
document.write('</div>');
document.write('</div>');
}
//IE结束
</script>
</body>
</html>
[/quote]
调用时一般通过一个<iframe>来放此代码的。
演示地址: http://www.28wd.com
[quote]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
<title>滚动图片切换连播</title>
<style type="text/css">
<!--
@charset "gb2312";
table,td,select,input,div {font-size:12px;}
body { font-size:12px; padding:0px; margin:0px; height:auto;}
a img {border:none;}
form,input,select,ul,li{margin:0px;padding:0px;}
/* 数字按钮框样式 */
#imgTitle {position:relative;left:0px;text-align:left;overflow: hidden;}
#imgTitle_up {left:0px;text-align: left; height:1px; width:inherit; }
#imgTitle_down {left:0px;text-align: right; width:inherit; }
/* 图片框样式 */
.imgClass {border: none;}
/* 图片文字框样式 */
#txtFrom {text-align: center;vertical-align: middle;}
/* 数字按钮样式 */
.button {text-decoration: none;padding: 2px 7px;background: none;margin: 0px;font: bold 11px sans-serif; border-left:#fff 1px solid;}
a.button, a.button:link, a.button:visited {font-family: sans-serif;text-decoration: none;color:#FFFFFF;}
a.button:hover {font-family: sans-serif;text-decoration: none;color:#FFFFFF;}
.buttonDiv {background: #000000;height: 1px;width: 21px;float: left;text-align: center; vertical-align: middle;}
/*渐变*/
.trans { width:90px; background-color:#000;}
-->
</style>
<!--[if IE]>
<style type="text/css">
@charset "gb2312";
table,td,select,input,div {font-size:12px;}
body { font-size:12px; padding:0px; margin:0px; height:auto;}
a img {border:none;}
form,input,select,ul,li{margin:0px;padding:0px;}
/* 数字按钮框样式 */
#imgTitle {FILTER:ALPHA(opacity=70);position:relative;left:0px;text-align:left;overflow: hidden;}
#imgTitle_up {left:0px;text-align: left; height:1px; width:inherit; }
#imgTitle_down {left:0px;text-align: right; width:inherit; }
/* 图片框样式 */
.imgClass {border: 0px solid #000;}
/* 图片文字框样式 */
#txtFrom {text-align: center;vertical-align: middle;}
/* 数字按钮样式 */
.button {text-decoration: none;padding: 2px 7px;background: #7B7B63;margin: 0px;font: bold 9px sans-serif; border-left:#fff 1px solid;}
a.button, a.button:link, a.button:visited {font-family: sans-serif;text-decoration: none;color:#FFFFFF;background-color: #000000;}
a.button:hover {font-family: sans-serif;text-decoration: none;color:#fff;background:#fff; }
.buttonDiv {background: #000000;height: 1px;width: 21px;float: left;text-align: center; vertical-align: middle;}
/*渐变*/
.trans { width:90px; background-color:#000;filter : progid:DXImageTransform.Microsoft.Alpha(startX=0, startY=0, finishX=100, finishY=100,style=1,opacity=0,finishOpacity=40);}
</style>
<![endif]-->
</head>
<body>
<script language="javascript" type="text/javascript">
var imgWidth=365; //图片宽
var imgHeight=120; //图片高
var textFromHeight=0; //焦点字框高度 (单位为px)
var textStyle="f12"; //焦点字class style (不是连接class)
var textLinkStyle="p1"; //焦点字连接class style
var buttonLineOn="#f60"; //button下划线on的颜色
var buttonLineOff="#000"; //button下划线off的颜色
var TimeOut=5000; //每张图切换时间 (单位毫秒);
var imgUrl=new Array();
var imgLink=new Array();
var imgtext=new Array();
var imgAlt=new Array();
var adNum=0;
imgUrl[1]='http://www.pconline.com.cn/test/toptitle/images/picpath/mengxiangzhaojinxianshikuan.jpg';
imgtext[1]='<a href="http://www.pconline.com.cn/comm/chnews/comm070326/index2.htm" target="_blank" class="'+textLinkStyle+'">通信</a>';
imgLink[1]='http://www.pconline.com.cn/comm/chnews/comm070326/index2.htm';
imgAlt[1]='通信';
imgUrl[2]='http://www.pconline.com.cn/test/toptitle/images/picpath/070329_buy_pricedown_365.jpg';
imgtext[2]='<a href="http://www.pconline.com.cn/mobile/guide/time/0703/989014.html" target="_blank" class="'+textLinkStyle+'">手机</a>';
imgLink[2]='http://www.pconline.com.cn/mobile/guide/time/0703/989014.html';
imgAlt[2]='手机';
imgUrl[3]='http://www.pconline.com.cn/test/toptitle/images/picpath/070330BBS365.jpg';
imgtext[3]='<a href="http://www.pconline.com.cn/pcclub/" target="_blank" class="'+textLinkStyle+'">论坛</a>';
imgLink[3]='http://www.pconline.com.cn/pcclub/';
imgAlt[3]='论坛';
imgUrl[4]='http://www.pconline.com.cn/test/toptitle/images/picpath/070331365120.jpg';
imgtext[4]='<a href="http://dp.pconline.com.cn/photoblog/page.do?method=photosPage&aid=5320583" target="_blank" class="'+textLinkStyle+'">摄影部落</a>';
imgLink[4]='http://dp.pconline.com.cn/photoblog/page.do?method=photosPage&aid=5320583';
imgAlt[4]='摄影部落';
document.write('<div id="focuseFrom" style="width:'+(imgWidth+2)+';margin: 0px; padding:0px;height:'+(imgHeight+textFromHeight)+'px; overflow:hidden;">');
function changeimg(n)
{
adNum=n;
window.clearInterval(theTimer);
adNum=adNum-1;
nextAd();
}
function goUrl(){
window.open(imgLink[adNum],'_blank');
}
//NetScape开始
if (navigator.appName == "Netscape")
{
var count=0;
for (i=1;i<imgUrl.length;i++) {
if( (imgUrl[ i ]!="") && (imgLink[ i ]!="")&&(imgtext[ i ]!="")&&(imgAlt[ i ]!="") ) {
count++;
} else {
break;
}
}
function nextAd(){
if(adNum<(imgUrl.length-1))adNum++;
else adNum=1;
theTimer=setTimeout("nextAd()", TimeOut);
document.images.imgInit.src=imgUrl[adNum];
document.images.imgInit.alt=imgAlt[adNum];
document.getElementById('focustext').innerHTML=imgtext[adNum];
document.getElementById('imgLink').href=imgLink[adNum];
document.getElementById('link'+adNum).style.background=buttonLineOn;
for (var i=1;i<=count;i++)
{
if (i!=adNum){document.getElementById('link'+i).style.background=buttonLineOff;}
}
}
document.write('<a id="imgLink" href="'+imgLink[1]+'" target=_blank class="p1"><img src="'+imgUrl[1]+'" name="imgInit" width='+imgWidth+' height='+imgHeight+' border=1 alt="'+imgAlt[1]+'" class="imgClass"></a>');
document.write('<div id="txtFrom" style="height:'+textFromHeight+'px;line-height:'+textFromHeight+'px;width:'+imgWidth+'px;overflow:hidden;"><span id="focustext" class="'+textStyle+'">'+imgtext[1]+'</span></div>');
document.write('<div id="imgTitle" style="width:'+imgWidth+';top:-'+(textFromHeight+13)+'px;height:13px">');
document.write('<div id="imgTitle_down">');
//数字按钮代码开始
for(var i=1;i<imgUrl.length;i++){document.write('<a id="link'+i+'" href="javascript:changeimg('+i+')" class="button" style="cursor:hand" title="'+imgAlt[ i ]+'" onfocus="this.blur()">'+i+'</a>');}
//数字按钮代码结束
document.write('</div>');
document.write('</div>');
document.write('</div>');
nextAd();
}
//NetScape结束
//IE开始
else
{
var count=0;
for (i=1;i<imgUrl.length;i++) {
if( (imgUrl[ i ]!="") && (imgLink[ i ]!="")&&(imgtext[ i ]!="")&&(imgAlt[ i ]!="") ) {
count++;
} else {
break;
}
}
function playTran(){
if (document.all)
imgInit.filters.revealTrans.play();
}
var key=0;
function nextAd(){
if(adNum<count)adNum++ ;
else adNum=1;
if( key==0 ){
key=1;
} else if (document.all) {
imgInit.filters.revealTrans.Transition=6;
imgInit.filters.revealTrans.apply();
playTran();
}
document.images.imgInit.src=imgUrl[adNum];
document.images.imgInit.alt=imgAlt[adNum];
document.getElementById('link'+adNum).style.background=buttonLineOn;
for (var i=1;i<=count;i++)
{
if (i!=adNum){document.getElementById('link'+i).style.background=buttonLineOff;}
}
focustext.innerHTML=imgtext[adNum];
theTimer=setTimeout("nextAd()", TimeOut);
}
document.write('<a target="_self" href="javascript:goUrl()"><img style="FILTER: revealTrans(duration=1,transition=5);" src="javascript:nextAd()" width="'+imgWidth+'" height="'+imgHeight+'" border="0" vspace="0" name="imgInit" class="imgClass"></a>');
document.write('<div id="txtFrom" style="height:'+textFromHeight+'px;line-height:'+textFromHeight+'px;width:'+imgWidth+'px;overflow:hidden;"><span id="focustext" class="'+textStyle+'"></span></div>');
document.write('<div id="imgTitle" style="width:'+imgWidth+';top:-'+(textFromHeight+16)+'px;height:18px">');
document.write(' <div id="imgTitle_down"> <a class="trans"></a>');
//数字按钮代码开始
for(var i=1;i<imgUrl.length;i++){document.write('<a id="link'+i+'" href="javascript:changeimg('+i+')" class="button" style="cursor:hand" title="'+imgAlt[ i ]+'" onfocus="this.blur()">'+i+'</a>');}
//数字按钮代码结束
document.write('</div>');
document.write('</div>');
document.write('</div>');
}
//IE结束
</script>
</body>
</html>
[/quote]