javascript入门·图片对象(无刷新变换图片)\滚动

      2019-11-27 04:14      编程语言
复制代码 代码如下:
<%@LANGUAGE="JAVASCRIPT"CODEPAGE="936"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>图片对象</title>
<scriptlanguage="javascript">
<!--
//书上说这样可以预缓存图片对象,实际是骗人的了。下面是我特意整的特别大的图片
img1=newImage(300,400)
img1.src="http://www.azsz.com/test/view/1.jpg"
img2=newImage(300,400)
img2.src="http://www.azsz.com/test/view/2.jpg"
img3=newImage(300,400)
img3.src="http://www.azsz.com/test/view/3.jpg"
img4=newImage(300,400)
img4.src="http://www.azsz.com/test/view/4.jpg"
functionimg(s){//根据下拉菜单传来的值,也就是被选中项调用函数
im=document.getElementById("select1").options[s].value;//得到被选中项的值
document.getElementById("img").src=eval(im+".src")//使用eval()函数引用对象的src值并赋给页面上的图片
}
//下面是DW自动生成的,所以有点不好看,懒得看了,麻烦啊,下面有我自己参考书上写的
functionMM_preloadImages(){//v3.0
vard=document;if(d.images){if(!d.MM_p)d.MM_p=newArray();
vari,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++)
if(a[i].indexOf("#")!=0){d.MM_p[j]=newImage;d.MM_p[j++].src=a[i];}}
}

functionMM_findObj(n,d){//v4.01
varp,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){
d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);
if(!x&&d.getElementById)x=d.getElementById(n);returnx;
}

functionMM_nbGroup(event,grpName){//v6.0
vari,img,nbArr,args=MM_nbGroup.arguments;
if(event=="init"&&args.length>2){
if((img=MM_findObj(args[2]))!=null&&!img.MM_init){
img.MM_init=true;img.MM_up=args[3];img.MM_dn=img.src;
if((nbArr=document[grpName])==null)nbArr=document[grpName]=newArray();
nbArr[nbArr.length]=img;
for(i=4;i<args.length-1;i+=2)if((img=MM_findObj(args[i]))!=null){
if(!img.MM_up)img.MM_up=img.src;
img.src=img.MM_dn=args[i+1];
nbArr[nbArr.length]=img;
}}
}elseif(event=="over"){
document.MM_nbOver=nbArr=newArray();
for(i=1;i<args.length-1;i+=3)if((img=MM_findObj(args[i]))!=null){
if(!img.MM_up)img.MM_up=img.src;
img.src=(img.MM_dn&&args[i+2])?args[i+2]:((args[i+1])?args[i+1]:img.MM_up);
nbArr[nbArr.length]=img;
}
}elseif(event=="out"){
for(i=0;i<document.MM_nbOver.length;i++){
img=document.MM_nbOver[i];img.src=(img.MM_dn)?img.MM_dn:img.MM_up;}
}elseif(event=="down"){
nbArr=document[grpName];
if(nbArr)
for(i=0;i<nbArr.length;i++){img=nbArr[i];img.src=img.MM_up;img.MM_dn=0;}
document[grpName]=nbArr=newArray();
for(i=2;i<args.length-1;i+=2)if((img=MM_findObj(args[i]))!=null){
if(!img.MM_up)img.MM_up=img.src;
img.src=img.MM_dn=(args[i+1])?args[i+1]:img.MM_up;
nbArr[nbArr.length]=img;
}}
}
//-->
</script>
</head>

<bodyonload="MM_preloadImages('img/3.jpg','img/2.jpg','img/4.jpg')">

<p><strong>演示一:无刷新变换图片(有点歪)</strong></p>
<p>
<selectname="select1"onchange="img(this.options.selectedIndex)">
<optionvalue="img1">1</option>
<optionvalue="img2">2</option>
<optionvalue="img3">3</option>
<optionvalue="img4">4</option>
</select>
<inputtype="image"name="img"src="img/7.jpg"/>
</p>
<p><strong>演示二:鼠标触发图片变换(书面名称好像叫图像滚动)</strong></p>
<p>
<scriptlanguage="javascript">
//先建立两个数组,一组是on状态的,一组是off状态的
//数组使用的是字符串作索引,一来方便识别,二来在代码运行中不会冲突
offimg=newArray()
offimg["play"]=newImage(60,50)
offimg["stop"]=newImage(60,50)
offimg["pause"]=newImage(60,50)
offimg["rewind"]=newImage(66,55)
//赋值
offimg["play"].src="img/1.jpg"
offimg["stop"].src="img/2.jpg"
offimg["pause"].src="img/3.jpg"
offimg["rewind"].src="img/4.jpg"
//第二个数组
onimg=newArray()
onimg["play"]=newImage(60,50)
onimg["stop"]=newImage(60,50)
onimg["pause"]=newImage(60,50)
onimg["rewind"]=newImage(66,55)
//赋值
onimg["play"].src="img/5.jpg"
onimg["stop"].src="img/6.jpg"
onimg["pause"].src="img/7.jpg"
onimg["rewind"].src="img/1.jpg"
functionon(imgname){
if(document.images){//判断浏览器是否能够处理图片对象
document.images[imgname].src=onimg[imgname].src//将对应的图片对象的src值赋给图片
}
}
functionoff(imgname){
if(document.images){//判断浏览器是否能够处理图片对象
document.images[imgname].src=offimg[imgname].src//将对应的图片对象的src值赋给图片
}
}
functionsetmsg(msg){//改变状态栏提示
window.status=msg;
returntrue;
}
</script>
<tablewidth="591"border="1">
<tr>
<tdwidth="169"><tableborder="0"cellpadding="0"cellspacing="0">
<tr>
<td><ahref="http://thcjp.cnblogs.com"target="_top"onclick="MM_nbGroup('down','group1','Blogs','img/3.jpg',1)"onmouseover="MM_nbGroup('over','Blogs','img/2.jpg','img/4.jpg',1)"onmouseout="MM_nbGroup('out')"><imgsrc="img/1.jpg"alt="田轰穿博客"name="Blogs"width="80"height="120"border="0"id="Blogs"onload=""/></a></td>
</tr>
</table>
<p><ahref="http://thcjp.cnblogs.com">上面是DW做的<br/>
是预载入图片</a></p></td>
<tdwidth="406">
<ahref="http://thcjp.cnblogs.com"><imgsrc="img/1.jpg"width="80"height="120"border="0"name="play"onMouseOver="on('play');returnsetmsg('我的教程博客-->http://thcjp.cnblogs.com')"onmouseout="off('play');returnsetmsg('');"/></a>

<ahref="http://www.cnblogs.com/thcjp/category/65304.html"><imgsrc="img/2.jpg"width="80"height="120"border="0"name="stop"onmouseover="on('stop');returnsetmsg('天轰穿的博客之js入门系列教程-->http://www.cnblogs.com/thcjp/category/65304.html')"onmouseout="off('stop');returnsetmsg('')"/></a>

<ahref="http://www.cnblogs.com/thcjp/category/59325.html"><imgsrc="img/3.jpg"width="80"height="120"border="0"name="pause"onmouseover="on('pause');returnsetmsg('VS2005控件系列教程http://www.cnblogs.com/thcjp/category/59325.html')"onmouseout="off('pause');returnsetmsg('')"/></a>

<ahref="http://thcjp.cnblogs.com"><imgsrc="img/4.jpg"width="80"height="120"border="0"name="rewind"onmouseover="on('rewind');returnsetmsg('ajax系列视频教程-->http://thcjp.cnblogs.com')"onmouseout="off('rewind');returnsetmsg('');"/></a></td>
</tr>
</table>
</body>
</html>