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 相关文章推荐
jQuery事件 delegate()使用方法介绍
Oct 30 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
三种动态加载js的jquery实例代码另附去除js方法
Apr 30 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
Ionic快速安装教程
Jun 03 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
JavaScript 事件对内存和性能的影响
Jan 22 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
Angular通过angular-cli来搭建web前端项目的方法
Jul 27 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
Dec 22 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 Pear 安装及使用
2009/03/19 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
十大使用PHP框架的理由
2015/09/26 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
js给selected添加options的方法
2015/05/06 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
python 检查文件mime类型的方法
2018/12/08 Python
django如何自己创建一个中间件
2019/07/24 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
法学研究生自我鉴定范文
2013/12/04 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
投标保密承诺书
2014/05/19 职场文书
学校消防安全责任书
2014/07/23 职场文书
国庆促销活动总结
2014/08/29 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
校园开放日新闻稿
2015/07/17 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP