JavaScript进阶教程(第四课第一部分)


Posted in Javascript onApril 05, 2007

在以前的课程中,我们学习了对文本和字符串的各种操作,今天我们专注于两种不同的数据类型:图象和对象。学完这一课,你将知道如何: 
    使用JavaScript来加速图象交换。 
    创建你自己的对象来使脚本易于理解。 
    使用关联数组来快速存取脚本中的每一个对象。
    使用JavaScript做图象变换的一个主要问题是,它直到需要换图时才去告诉浏览器下载那张图象。如果你有一张大的图象,想在鼠标滑过一副图象时调出来,浏览器得临时下载这张图,这可能会花一定时间从而使滑动效果大打折扣。
    如果你的连接速度较慢,而你要调入的是一个相当大的图象的话,那你把鼠标放到图上后只好去等待。由于有的浏览器要求被调入的图象必须保存在缓冲区里,所以有时你可能根本就看不到图象变换的效果。为了避免这些烦心的问题,我们可以把要变换的图象在页面调入时就预先装载。
    在Web编程时,预装载是在需要图片之前就将图片下载到缓存的技术。采用这样的方式可以使当确实需要显示图片时迅速将其从缓存中恢复回来并立即显示。
    预装载图象其实并不困难。你要做的就是创建一个新的image对象,然后把要预装的图象名设定成image的src属性,如下所示:
    var an_image = new Image();
    an_image.src = "my_nice_image.gif";
    通过设置image的src属性就可以自动地把图象下载到你的硬盘里(当然假设你的cache可以用),然后图象变换时就从硬盘直接读入图象而不用再去下载了。 
    剩下要做的唯一一件事就是,怎样在页面被下载以后和图象变换操作之前使预装图象发生。让人愉快的是这很简单。HTML中的body标记有一个事件处理器叫onLoad,当页面被调入后它将被调用。如果你的body标记是这样的:
    <body onLoad="doPreload();">
    那么doPreload()函数将在网页下载后被调用。函数的代码是这样的: 
    function doPreload()
    {
        var the_images = new Array(’kwmatt.jpg’,’matbon.jpg’,’lunchMat.jpg’);
        preloadImages(the_images);
    }
    function preloadImages(the_images_array) {
        for(loop = 0; loop < the_images_array.length; loop++)
        {
            var an_image = new Image();
            an_image.src = the_images_array[loop];
        }
    }
    doPreload()函数创建了需要预装的图象名的数组,并把数组作为参数传送到preloadImages()函数, preloadImages()函数包含了一个循环,每次循环都创建一个新的图象对象,并把图象名设到它的src属性中。
    不很难吧?图象对象相当有用对吧?我很高兴你这样想,休息一会儿,马上我们就要进入一个更令人兴奋,更让人动脑筋的话题:创建你自己的对象。

Javascript 相关文章推荐
Javascript var变量隐式声明方法
Oct 19 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
javascript时间函数大全
Jun 30 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
javascript中this的四种用法
May 11 Javascript
javascript封装简单实现方法
Aug 11 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
js转html实体的方法
Sep 27 Javascript
Vue项目中使用Vux的安装过程
May 01 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
关于javascript中的promise的用法和注意事项(推荐)
Jan 15 Javascript
JavaScript 指导方针
Apr 05 #Javascript
JavaScript 特殊字符
Apr 05 #Javascript
JavaScript 中的事件教程
Apr 05 #Javascript
JavaScript While 循环基础教程
Apr 05 #Javascript
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 #Javascript
javascript判断单选框或复选框是否选中方法集锦
Apr 04 #Javascript
javascript中巧用“闭包”实现程序的暂停执行功能
Apr 04 #Javascript
You might like
php 运行效率总结(提示程序速度)
2009/11/26 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
深入理解PHP 数组之count 函数
2016/06/13 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
JavaScript函数详解
2014/11/17 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
原生JS实现天气预报
2020/06/16 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
python装饰器使用方法实例
2013/11/21 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
python生成九宫格图片
2018/11/19 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Python  Django 母版和继承解析
2019/08/09 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
幼儿教师求职信
2014/05/24 职场文书
同学聚会策划方案
2014/06/06 职场文书
学校标语大全
2014/06/19 职场文书
行风评议整改报告
2014/11/06 职场文书
欢送会主持词
2015/07/01 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书