在JSP页面中做出自动遍历显示文件夹中图片(一个img每2秒自动更换图片)

我的思路是这样的,struts1中传给jsp保存文件夹中图片姓名名称的ArrayList集合,然后想在JSP页面顺序遍历。现在集合已经传到,求大虾给个jsp页面中的代码达到效果。。。
最好带个幻灯片效果。。。

第1个回答  2010-06-13
个人建议:
你将图片(地址)通过struts1传递到页面上
然后使用JavaScript实现图片(幻灯片)效果
JavaScript图片效果代码,网上有很多的,搜一下,套用一个就ok了!

下面是在网上找的一个代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Javascript图片幻灯效果-www.codefans.net</title>
<style type="text/css" media="all">
.d1{width:443px;height:auto;overflow:hidden;border:#666666 2px solid;background-color:#000000;position:relative;}
.loading{width:443px;border:#666666 2px solid;background-color:#000000;color:#FFCC00;font-size:12px;height:179px;text-align:center;padding-top:30px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:bold;}
.d2{width:100%;height:209px;overflow:hidden;}
.num_list{position:absolute;width:100%;left:0px;bottom:-1px;background-color:#000000;color:#FFFFFF;font-size:12px;padding:4px 0px;height:20px;overflow:hidden;}
.num_list span{display:inline-block;height:16px;padding-left:6px;}
img{border:0px;}
ul{display:none;}
.button{position:absolute; z-index:1000; right:0px; bottom:2px; font-size:13px; font-weight:bold; font-family:Arial, Helvetica, sans-serif;}
.b1,.b2{background-color:#666666;display:block;float:left;padding:2px 6px;margin-right:3px;color:#FFFFFF;text-decoration:none;cursor:pointer;}
.b2{color:#FFCC33;background-color:#FF6633;}
</style>
<script language="javascript" type="text/javascript">
/*
by: /
*/
//主函数
var s=function(){
var interv=2000; //切换时间
var interv2=10; //切换速速
var opac1=80; //文字背景的透明度
var source="fade_focus" //图片容器的id名称
//获取对象
function getTag(tag,obj){if(obj==null){return document.getElementsByTagName(tag)}else{return obj.getElementsByTagName(tag)}}
function getid(id){return document.getElementById(id)};
var opac=0,j=0,t=63,num,scton=0,timer,timer2,timer3;var id=getid(source);id.removeChild(getTag("div",id)[0]);var li=getTag("li",id);var div=document.createElement("div");var title=document.createElement("div");var span=document.createElement("span");var button=document.createElement("div");button.className="button";for(var i=0;i<li.length;i++){var a=document.createElement("a");a.innerHTML=i+1;a.onclick=function(){clearTimeout(timer);clearTimeout(timer2);clearTimeout(timer3);j=parseInt(this.innerHTML)-1;scton=0;t=63;opac=0;fadeon();};a.className="b1";a.onmouseover=function(){this.className="b2"};a.onmouseout=function(){this.className="b1";sc(j)};button.appendChild(a);}
//控制图层透明度
function alpha(obj,n){if(document.all){obj.style.filter="alpha(opacity="+n+")";}else{obj.style.opacity=(n/100);}}
//控制焦点按钮
function sc(n){for(var i=0;i<li.length;i++){button.childNodes[i].className="b1"};button.childNodes[n].className="b2";}
title.className="num_list";title.appendChild(span);alpha(title,opac1);id.className="d1";div.className="d2";id.appendChild(div);id.appendChild(title);id.appendChild(button);
//渐显
var fadeon=function(){opac+=5;div.innerHTML=li[j].innerHTML;span.innerHTML=getTag("img",li[j])[0].alt;alpha(div,opac);if(scton==0){sc(j);num=-2;scrolltxt();scton=1};if(opac<100){timer=setTimeout(fadeon,interv2)}else{timer2=setTimeout(fadeout,interv);};}
//渐隐
var fadeout=function(){opac-=5;div.innerHTML=li[j].innerHTML;alpha(div,opac);if(scton==0){num=2;scrolltxt();scton=1};if(opac>0){timer=setTimeout(fadeout,interv2)}else{if(j<li.length-1){j++}else{j=0};fadeon()};}
//滚动文字
var scrolltxt=function(){t+=num;span.style.marginTop=t+"px";if(num<0&&t>3){timer3=setTimeout(scrolltxt,interv2)}else if(num>0&&t<62){timer3=setTimeout(scrolltxt,interv2)}else{scton=0}};
fadeon();
}
//初始化
window.onload=s;
</script>

</head>

<body>
<div id="fade_focus">
<div class="loading">Loading...<br /><img src="/jscss/demoimg/200905/logings.gif" width="100" height="100" /></div>
<ul>
<li><img src="/jscss/demoimg/wall1.jpg" width="443" height="209" alt="展示图片1" /></li>
<li><img src="/jscss/demoimg/wall2.jpg" width="443" height="209" alt="展示图片2" /></li>
<li><img src="/jscss/demoimg/wall3.jpg" width="443" height="209" alt="展示图片3" /></li>
<li><img src="/jscss/demoimg/wall4.jpg" width="443" height="209" alt="展示图片4" /></li>
</ul>
</div>
</body>
</html>

参考资料:http://www.codefans.net/jscss/code/976.shtml

本回答被提问者采纳

Java中如何实现在HTML中用循环语句显示多张图片。
< String [] parth=new String[]{"..\/image\/1.jpg","..\/image\/2.jpg"};\/\/定义数组,用来存放图片路径,本代码中的图片路径为上一级文件夹的image文件夹中.for(int i=0;i<parth.length;i++){ > <img src="<%=parth[i] %>"> <%} %> 也可把数组内容写为:String [] parth=new ...

怎么样在jsp页面上传图片?把图片的名字如1.jpg上传到数据库,把图片保存...
在JSP页面中用"<input type="file"\/> "然后用form提交到后台 得到文件名然后在servlet里面用输入输出流不就可以了。

jsp如何将图片上传到服务器某个文件夹里面,而路径存到数据库中!!请教...
mySmartUpload.setAllowedFilesList("htm,html,txt,jar,");\/\/或者设定拒绝上传的文件类型 \/\/ mySmartUpload.setDeniedFilesList("exe,bat,jsp");\/\/ 拒绝的物理路径 \/\/ mySmartUpload.setDenyPhysicalPath(true);\/\/ 设置文件最大为 50000 bytes mySmartUpload.setMaxFileSize(50000);\/\/ 允许一次最多...

jsp界面为什么不能显示图片,路径没问题
如果路径没有问题,应该是是HTML的样式在做怪,你用路径直接访问,再去看样式。

jsp页面如何分页显示图片,像那种一页一页显示,还有就是数据库能存储图片...
var i = 0; function changImg(img){ var arrayImg = new Array(); &#47;&#47;这里我写死了图片的地址,你可以把它从数据库里面读出来.通过遍历的方式存放到这个数组arrayImg 里面(不要告诉我不知道怎么把JSP脚本里面的值赋给JS的变量). arrayImg.push(&quot;t1...

请教jsp实现动态显示图片
点击显示时显示图片:<select id="sel"> <option value="1">1<\/option> <option value="2">2<\/option> <option value="3">3<\/option> <\/select> <img src="#" id="img" \/> <input type="button" value="显示" onclick="show();" \/> <script type="text\/javascript"> function...

jsp 图片显示路径问题,只显示一个×,高手过来看看咯!
WEB-INF目录下的图片用户是拿不到的。不信你输入完整地址试试看。只能转发出来或者干脆放在外面

在Jsp页面中如何将数据库中读取出的图片数据(Image类型)插入到网页中...
先把图片传到 指定的文件夹下然后 数据库的值就值 对应的图片路径+图片名称 然后在页面<img src"数据库读出来的数据" \/> 这样就行了

jsp中显示照片 照片的存放在哪呢
照片可以存放在硬盘上(也就是说你项目中的某个文件夹中,你可以利用名称搜索整个项目),如果硬盘上搜索不到,很可能是在数据库里,像图片、文本文件、甚至大型视频文件都是可以存储在数据库里的。

在JSP页面中如何使用两个el表达式之间乘法运算,在合计中显示总的金额...
回答:你这显示的数据存在hashmap里面的咯,你在用foreach遍历这个哈希表之前,先用c标签定义一个价格计数的变量,priceCount,然后你在foreach遍历hashmap的时候呢,foreach里面priceCount= priceCount+单个对象合计的价格,遍历完了你的总价格也就加完了,然后在foreach外就可以显示这个总价格了

相似回答