2个js实现图片轮播效果(用)

时间:2022-08-25 11:34:55

第一个(使用)

不过要注意在web.config中将该location的位置的访问权限设为allow user="*",设置了deny user="?"或"*"将导致无法看到图片,今天费了一番功夫才发现之前设置的这个问题,造成管理员在freetexbox中上传图片时只看到有图片文件,但是看不到文件夹中的图片内容,修改后成功过通过):

<div id="c_left" style="  left:0px; float:left; border:5px; border-color:Gray"> 
                            
                               <SCRIPT language=JavaScript>
     <!--
     var widths=218;  //焦点图片宽
     var w=2;
     var widthss=widths+w;
     var heights=174; //焦点图片高
     var heightss=heightss+w;
     var heightt=20;
     var counts=5;
    
     img1=new Image();img1.src='uploadFiles/admin/news/newsSlideInHomePage/<%=dtForSlideNewPic.Rows[0]["NpicPathInSlide"].ToString()%>';
     url1=new Image();url1.src='newsDetail.aspx?Nid=<%=dtForSlideNewPic.Rows[0]["Nid"]%>';
     txt1=new Image();txt1.txt='<%=dtForSlideNewPic.Rows[0]["Ntitle"].ToString()%>';
    
     img2=new Image();img2.src='uploadFiles/admin/news/newsSlideInHomePage/<%=dtForSlideNewPic.Rows[1]["NpicPathInSlide"].ToString()%>';
     url2=new Image();url2.src='newsDetail.aspx?Nid=<%=dtForSlideNewPic.Rows[1]["Nid"]%>';
     txt2=new Image();txt2.txt='<%=dtForSlideNewPic.Rows[1]["Ntitle"].ToString()%>';
                              
     img3=new Image();img3.src='uploadFiles/admin/news/newsSlideInHomePage/<%=dtForSlideNewPic.Rows[2]["NpicPathInSlide"].ToString()%>';
     url3=new Image();url3.src='newsDetail.aspx?Nid=<%=dtForSlideNewPic.Rows[2]["Nid"]%>';
     txt3=new Image();txt3.txt='<%=dtForSlideNewPic.Rows[2]["Ntitle"].ToString()%>';
    
     img4=new Image();img4.src='uploadFiles/admin/news/newsSlideInHomePage/<%=dtForSlideNewPic.Rows[3]["NpicPathInSlide"].ToString()%>';
     url4=new Image();url4.src='newsDetail.aspx?Nid=<%=dtForSlideNewPic.Rows[3]["Nid"]%>';
     txt4=new Image();txt4.txt='<%=dtForSlideNewPic.Rows[3]["Ntitle"].ToString()%>';
    
     img5=new Image();img5.src='uploadFiles/admin/news/newsSlideInHomePage/<%=dtForSlideNewPic.Rows[4]["NpicPathInSlide"].ToString()%>';
     url5=new Image();url5.src='newsDetail.aspx?Nid=<%=dtForSlideNewPic.Rows[4]["Nid"]%>';
     txt5=new Image();txt5.txt='<%=dtForSlideNewPic.Rows[4]["Ntitle"].ToString()%>';
    
     var nn=1;   //当前所显示的滚动图
     var key=0;  //标识是否为第一次开始执行
     var tt;     //标识作用
     function change_img()
     {
     if(key==0){key=1;}    //如果第一次执行KEY=1,表示已经执行过一次了。
     else if(document.all) //document.all仅IE6/7认识,firefox不会执行此段内容
     {
     document.getElementById("pic").filters[0].Apply();           //将滤镜应用到对像上
     document.getElementById("pic").filters[0].Play(duration=2);  //开始转换
     document.getElementById("pic").filters[0].Transition=23;     //转换效果
     }
     eval('document.getElementById("pic").src=img'+nn+'.src');    //替换图片
     eval('document.getElementById("url").href=url'+nn+'.src');   //替换URL
     //eval('document.getElementById("title").value=txt'+nn+'.txt');
     eval('document.getElementById("title").innerText=txt'+nn+'.txt'); //替换ALT
     eval('document.getElementById("tt").href=url'+nn+'.src');
     for (var i=1;i<=counts;i++)
     {
       document.getElementById("xxjdjj"+i).className='axx';   //将下面黑条上的所有链接变为未选中状态
     }
     document.getElementById("xxjdjj"+nn).className='bxx';    //将当前页面的ID设置为选中状态
     nn++;
     if(nn>counts){nn=1;}                 //如果ID大于总图片数量。则从头开始循环
     tt=setTimeout('change_img()',5000);  //在4秒后重新执行change_img()方法.
     }
     function changeimg(n)     //点击黑条上的链接执行的方法。
     {
     nn=n;                     //当前页面的ID等于传入的N值,
     window.clearInterval(tt); //清除用于循环的TT
     //重新执行change_img();但change_img()内所调用的图片ID已经在此处被修改,会从新ID处开始执行.
     change_img();
     }
     //样式表
     document.write('<style>');
     document.write('.axx{padding:1px 7px;border-left:#cccccc 1px solid;font-size:11px;}');
     document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#fff;line-height:15px;font:11px sans-serif;background-color:#666;}');
     document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;line-height:15px;font:11px sans-serif;background-color:#999;}');
     document.write('.bxx{padding:1px 7px;border-left:#cccccc 1px solid;}');
     document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;line-height:15px;font:11px sans-serif;background-color:#009900;}');
     document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;line-height:15px;font:11px sans-serif;background-color:#ff9900;}');
     document.write('</style>');
      //内容部分
      document.write('<div style="width:'+widthss+'px;height:'+heights+'px;overflow:hidden;text-overflow:clip;float:left;">');
      document.write('<div><a id="url" target="_blank"><img id="pic" style="border:1px #cbcbcb solid;FILTER: progid:DXImageTransform.Microsoft.RevealTrans (duration=2,transition=23)" width='+widths+' height='+heights+' /></a></div>');
      document.write('<div style="filter:alpha(style=1,opacity=10,finishOpacity=90);background: #888888;width:100%-2px;text-align:right;top:-18px;position:relative;margin:1px;height:14px;border:0px;padding-top:1px;z-index:4000;"><div>');
      for(var i=1;i<counts+1;i++){document.write('<a href="javascript:changeimg('+i+');" id="xxjdjj'+i+'" class="axx" target="_self">'+i+'</a>');}
                       document.write('<a href="xinwen/xinwen_web.jsp?ColumnID=430" target="_blank" id="xxjdjj7" class="axx"></a>');
      document.write('</div></div></div>');
                        //document.write('<a href="xinwen/xinwen_web.jsp?ColumnID=430" target="_blank" id="xxjdjj7" class="axx">更多</a>');
                       
                        //下面是title栏
      document.write('<div valign=center><a href="" id=tt target="_blank"><div id="title"  style="width:200px;background-color:#f2f6fb;border:0px solid #f2f6fb;color:#ff8800;font-size:10pt;position:relative;padding-top:1;padding-bottom:1;text-align:center;"></div></a></div>');
      //document.write('</div>');
      //开始执行滚动操作
      change_img();
      //-->
      </SCRIPT>
                     
                               </div>

第二个(未用,因为会随页面缩放比例而丢失画面和文字):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> 图片轮播 </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="水月洞天工作室">
  <META NAME="Keywords" CONTENT="图片轮播">
  <META NAME="Description" CONTENT="js实现图片轮播">
</HEAD>

<BODY>
<div id="c_flash"></div>
<script language="javascript">
linkarr = new Array();
picarr = new Array();
textarr = new Array();
var focus_width=359;   // 图片的宽度
var focus_height=144;  // 图片的高度
var text_height=20;  // 底部文字的高度
var pics = "";
var links = "";
var texts = "";
var swf_height = focus_height+text_height;   // 整个轮换效果的高度=图片高度+底部文字高度
var defJpeg = "http://www.cnbeta.com/images/index_37.jpg";

linkarr[1]="http://www.cnbeta.com/articles/73700.htm";picarr[1] ="../image/01.jpg";textarr[1]="专注的精神,是我们的一贯作风";
linkarr[2]="http://www.cnbeta.com/articles/73715.htm";picarr[2] ="../image/02.jpg";textarr[2]="我们的用心,换来你们的放心";
linkarr[3]="http://www.cnbeta.com/articles/73734.htm";picarr[3] ="../image/03.jpg";textarr[3]="与你们共享荣誉,是我们最大的骄傲";
linkarr[4]="http://www.cnbeta.com/articles/73473.htm";picarr[4] ="../image/04.jpg";textarr[4]="专业的技术,提供最舒心的服务";

for(i=1;i<picarr.length;i++){
   if(pics=="") pics = picarr[i];
   else pics += "|"+picarr[i];
}

for(i=1;i<linkarr.length;i++){
   if(links=="") links = linkarr[i];
   else links += "|"+linkarr[i];
}

for(i=1;i<textarr.length;i++){
   if(texts=="") texts = textarr[i];
   else texts += "|"+textarr[i];
}


document.write('<object type="application/x-shockwave-flash" data="../image/slide.swf" width="' + focus_width + '" height="' + swf_height + '">');
    document.write('<param name="movie" value="../image/slide.swf"/>');
    document.write('<param name="allowScriptAcess" value="sameDomain" />');
    document.write('<param name="quality" value="best" />');
    document.write('<param name="bgcolor" value="#E5ECF4" />');
    document.write('<param name="scale" value="noScale" />');
    document.write('<param name="menu" value="false">');
    document.write('<param name="wmode" value="opaque" />');
    document.write('<param name="FlashVars" value="playerMode=embedded&pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" />');
    document.write('</object>');

</script>
</BODY>
</HTML>

说明:实现图片轮换效果的其实是一个flash,就是那个../image/slide.swf,真想看看他的源码,不知道他是怎么读取传进去的参数的哦!!!
    要注意的时候图片和那个slide.swf必须在同一站点下(至于slide.swf,大家使用下载工具到http://www.cnbeta.com/template/slide.swf下载呗),要不然就会显示出错了,比如上面的代码改成http://www.cnbeta.com/template/slide.swf后显示就不正常了(例如标题文字时有时无)!!!
图片只能使用JPG格式的,如果换成GIF格式的话则图片显示不出来!!!