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里访问SharePoint列表数据的实现方法
May 22 Javascript
js中复制行和删除行的操作实例
Jun 25 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
js实现文件上传表单域美化特效
Nov 02 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
jQuery实现飞机大战小游戏
Jul 05 jQuery
Vue实现手机计算器
Aug 17 Javascript
React实现全选功能
Aug 25 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实现文件下载断点续传详解
2014/10/15 PHP
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
Vue 过渡实现轮播图效果
2017/03/27 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
Python datetime时间格式化去掉前导0
2014/07/31 Python
在Mac OS上搭建Python的开发环境
2015/12/24 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
python中for in的用法详解
2020/04/17 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
大学生职业生涯规划书范文
2014/01/04 职场文书
给医务人员表扬信
2014/01/12 职场文书
学生感冒英文请假条
2014/02/04 职场文书
新课培训心得体会
2014/09/03 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
工伤私了协议书范本
2014/11/24 职场文书
感谢信怎么写
2015/01/21 职场文书
会计求职信怎么写
2015/03/20 职场文书
小学一年级数学教学反思
2016/02/16 职场文书