注册 登录
编程论坛 JavaScript论坛

关于更换图片的问题 急需

czj11600 发布于 2010-03-23 17:15, 1049 次点击
哪位大虾帮忙给写个关于更换图片的代码。 效果是四个相框里面的图片都能根据自己设定的图片地址不断更换,急需 急需 谢谢
16 回复
#2
foktime2010-03-24 08:11
打开你的狗狗或百度,一搜一大片
#3
czj116002010-03-24 08:46
不说我现在只能上论坛,我以前有搜过的,不过都是在一个相框里面更换图片,自己也改不好

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.
<html xmlns="http://www. lang="gb2312">
<head>
<title>JS图片切换 ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="generator" content="editplus" />
<meta name="author" content="eLore" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
* { margin:0; padding:0; }
body {
 margin:0;
 color:#88c; background:#333;
}
img { margin:0; padding:0; border:0; }
#js_F {
 position:relative;
 top:10px; left:10px;
 overflow:hidden;
 width:270px; height:185px;
 background:#33c;
}
#js_F img{
 position:absolute;
 top:0; left:0;
 width:270px; height:185px;
}
</style>
</head>
<body>
<div id="js_F"></div>
<script type="text/javascript">
<!--///*--><![CDATA[/*><!--*/
var js_F = document.getElementById("js_F");
var imgList = ["img/1.jpg", "img/2.jpg", "img/3.jpg", "img/4.jpg" ];
var imgTemp = new Array();
for (i=0; i<imgList.length; i++){
 imgTemp[i] = new Image();
 imgTemp[i].src = imgList[i];
}
var imgs = new Array();
var imgID = 0, nextImgID, proveImgID;
var tf = true; //图片移动方向标志
var speed1 = 10; speed2 = 3000; //速度
function imgInit(){
 var content = '';
 for (i=0; i<imgList.length; i++){
  content += '<img src="' + imgList[i] + '" style="left:0;" />\n';
 }
 js_F.innerHTML = content;
 imgs = js_F.getElementsByTagName('img');
 imgs[0].style.zIndex = 20;
 imgs[1].style.zIndex = 15;
}
function imgChange(){
 if ((imgID+1)<imgList.length){
  nextImgID = imgID + 1;
 } else if (imgID<imgList.length) {
  nextImgID = 0;
 } else {
  imgID = 0;
  nextImgID = imgID + 1;
 }
 imgs[imgID].style.zIndex = 20;
 imgs[nextImgID].style.zIndex = 15;
 setTimeout('imgShow()',speed2);
}
function imgShow(){
 if (tf){ //imgID向左边移动2/3,nextImgID向右边1/3
  if (parseInt(imgs[imgID].style.left)>-180){
   imgs[imgID].style.left = (parseInt(imgs[imgID].style.left)-10) + 'px';
   imgs[nextImgID].style.left = (parseInt(imgs[nextImgID].style.left)+5) + 'px';
   setTimeout('imgShow()',speed1);
  } else {
   tf = !tf;
   imgs[imgID].style.zIndex = 15;
   imgs[nextImgID].style.zIndex = 20;
   setTimeout('imgShow()',speed1);
  }
 } else {
  if (parseInt(imgs[imgID].style.left)<0){
   imgs[imgID].style.left = (parseInt(imgs[imgID].style.left)+10) + 'px';
   imgs[nextImgID].style.left = (parseInt(imgs[nextImgID].style.left)-5) + 'px';
   setTimeout('imgShow()',speed1);
  } else {
   imgs[imgID].style.zIndex = 10;
   tf = !tf;
   imgID++;
   imgChange();
  }
 }
}
imgInit();
imgChange();
/*]]>*///-->
</script>
</body>
</html>

谁帮忙改下,俺水平不够 谢谢
#4
foktime2010-03-24 12:57
什么意思  你要放4个相框? 1个都会了 4个不都一样的?
#5
czj116002010-03-24 13:17
这中间要改很多东西,我只能让四个相框都显示1个imgList()中的图片,我想让四个相框显示4套图片的,这个搞很久都搞不出来,帮帮忙吧
#6
foktime2010-03-25 08:40
好改
中午吃完饭给你改  
#7
czj116002010-03-25 11:08
先谢谢了
#8
foktime2010-03-26 13:42
不好意思晚了一天
代码看了下,最笨的办法就是所有的变量和方法都定义成不同的四组,虽然能实现,但显然这方法太不环保了
另外就只能是重写了,将实现过程归成一个可供重复调用的方法,每次只需要传入不同的参数就可以生成不同的相框,不过试了下暂时有很多问题,程序调好后代码会发上来
在这期间你可以找些别的实现方法研究下
#9
czj116002010-03-26 14:03
期待中.......
#10
凌晨雨薇2010-03-26 15:17
已经解决了啊
#11
czj116002010-03-26 16:15
哪里??  没有啊??  跪求中
#12
czj116002010-03-27 15:07
持续跪求中??哪位大虾帮下忙啊
#13
foktime2010-03-29 07:59
貌似没什么好办法 重写失败..
要么你就定义四组变量和函数分别控制,要么就用下面的例子吧
http://www.   最底下的,把代码抠出来
#14
aspic2010-03-29 08:35
其实我不知道你们在说什么
#15
czj116002010-03-29 08:43
就是我找到一个再一个相框换图片的代码,但改不成在4个地方一起换图片,我想要的效果是4个相一起换框换图片,但换的不是一样的图片。真的好难改的
#16
czj116002010-03-29 08:48
我们的项目是jsp页面不知道这个asp的搬上去能不能用??
#17
foktime2010-03-29 09:23
这是js  和asp  jsp有什么关系?
1