欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-06 19:16:58
复制代码 代码如下:<%@language="javascript" codepage="936"%>
复制代码 代码如下:

<%@language="javascript" codepage="936"%>
<!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=gb2312" />
<title>图片对象</title>
<script language="javascript">
<!--
//书上说这样可以预缓存图片对象,实际是骗人的了。下面是我 特意整的特别大的图片
    img1=new image(300,400)
    img1.src="http://www.azsz.com/test/view/1.jpg"
    img2=new image(300,400)
    img2.src="http://www.azsz.com/test/view/2.jpg"
    img3=new image(300,400)
    img3.src="http://www.azsz.com/test/view/3.jpg"
    img4=new image(300,400)
    img4.src="http://www.azsz.com/test/view/4.jpg"
function img(s){//根据下拉菜单传来的值,也就是被选中项调用函数
    im=document.getelementbyid("select1").options[s].value;//得到被选中项的值
    document.getelementbyid("img").src=eval(im+".src")//使用eval()函数引用对象的src值并赋给页面上的图片
}
//下面是dw自动生成的,所以有点不好看,懒得看了,麻烦啊,下面有我自己参考书上写的
function mm_preloadimages() { //v3.0
  var d=document; if(d.images){ if(!d.mm_p) d.mm_p=new array();
    var i,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]=new image; d.mm_p[j++].src=a[i];}}
}

function mm_findobj(n, d) { //v4.01
  var p,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); return x;
}

function mm_nbgroup(event, grpname) { //v6.0
  var i,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] = new array();
      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;
    } }
  } else if (event == "over") {
    document.mm_nbover = nbarr = new array();
    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;
    }
  } else if (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; }
  } else if (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 = new array();
    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>

<body onload="mm_preloadimages('img/3.jpg','img/2.jpg','img/4.jpg')">

<p><strong>演示一:无刷新变换图片(有点歪)</strong></p>
<p>
  <select name="select1" onchange="img(this.options.selectedindex)">
    <option value="img1">1</option>
    <option value="img2">2</option>
    <option value="img3">3</option>
    <option value="img4">4</option>
  </select>
  <input type="image" name="img" src="img/7.jpg" />
</p>
<p><strong>演示二:鼠标触发图片变换(书面名称好像叫图像滚动)</strong></p>
<p>
<script language="javascript">
    //先建立两个数组,一组是on 状态的,一组是off状态的
    //数组使用的是字符串作索引,一来方便识别,二来在代码运行中不会冲突
    offimg=new array()
    offimg["play"]=new image(60,50)
    offimg["stop"]=new image(60,50)
    offimg["pause"]=new image(60,50)
    offimg["rewind"]=new image(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=new array()
    onimg["play"]=new image(60,50)
    onimg["stop"]=new image(60,50)
    onimg["pause"]=new image(60,50)
    onimg["rewind"]=new image(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"
    function on(imgname){
        if(document.images){//判断浏览器是否能够处理图片对象
            document.images[imgname].src=onimg[imgname].src//将对应的图片对象的src值赋给图片
        }
    }
    function off(imgname){
        if(document.images){//判断浏览器是否能够处理图片对象
            document.images[imgname].src=offimg[imgname].src//将对应的图片对象的src值赋给图片
        }
    }
    function setmsg(msg){//改变状态栏提示
        window.status=msg;
        return true;
    }
</script>
<table width="591" border="1">
  <tr>
    <td width="169"><table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td><a href="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')"><img src="img/1.jpg" alt="田轰穿博客" name="blogs" width="80" height="120" border="0" id="blogs" onload="" /></a></td>
      </tr>
    </table>
      <p><a href="http://thcjp.cnblogs.com">上面是dw做的<br />
是预载入图片</a></p></td>
    <td width="406">
    <a href="http://thcjp.cnblogs.com"><img src="img/1.jpg" width="80" height="120" border="0" name="play" onmouseover="on('play');return setmsg('我的教程博客 --> http://thcjp.cnblogs.com')" onmouseout="off('play');return setmsg('');" /></a>

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

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

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