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


Posted in Javascript onOctober 01, 2007
<%@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>
Javascript 相关文章推荐
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
Aug 03 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
jQuery实现简单下拉导航效果
Sep 07 Javascript
浅析JS运动
Dec 28 Javascript
js中less常用的方法小结
Aug 09 Javascript
Vue 页面跳转不用router-link的实现代码
Apr 12 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
微信小程序实现多选删除列表数据功能示例
Jan 15 Javascript
Node 搭建一个静态资源服务器的实现
May 20 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
JS Thunk 函数的含义和用法实例总结
Apr 08 Javascript
浅析vue中的nextTick
Dec 28 Vue.js
javascript入门·对象属性方法大总结
Oct 01 #Javascript
JS创建优美的页面滑动块效果 - Glider.js
Sep 27 #Javascript
[HTML/CSS/Javascript]WWTJS
Sep 25 #Javascript
奇妙的js
Sep 24 #Javascript
让getElementsByName适应IE和firefox的方法
Sep 24 #Javascript
js的with语句使用方法
Sep 21 #Javascript
从阿里妈妈发现的几个不错的表单验证函数
Sep 21 #Javascript
You might like
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
详解Python中with语句的用法
2015/04/15 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
学习Python列表的基础知识汇总
2020/03/10 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
宿舍使用违章电器检讨书
2014/01/12 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
法人代表委托书
2014/04/04 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers