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 相关文章推荐
js自带函数备忘 数组
Dec 29 Javascript
IE6浏览器下resize事件被执行了多次解决方法
Dec 11 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
javascript实现图片自动和可控的轮播切换特效
Apr 13 Javascript
JavaScript实战之菜单特效
Aug 16 Javascript
jquery事件与绑定事件
Mar 16 Javascript
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
微信小程序使用input组件实现密码框功能【附源码下载】
Dec 11 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
Jan 15 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 Javascript
Vue组件模板的几种书写形式(3种)
Feb 19 Javascript
vue父子模板传值问题解决方法案例分析
Feb 26 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
smarty实例教程
2006/11/19 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
2011/10/09 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
通过php删除xml文档内容的方法
2015/01/23 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
python字符串的方法与操作大全
2018/01/30 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
在django view中给form传入参数的例子
2019/07/19 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python绘制分布折线图的示例
2020/09/24 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
暑假实习求职信范文
2013/09/22 职场文书
办护照工作证明
2014/10/01 职场文书
避暑山庄导游词
2015/02/04 职场文书
教师党员个人总结
2015/02/10 职场文书
文明礼仪倡议书
2015/04/28 职场文书
施工安全保证书
2015/05/09 职场文书
紫日观后感
2015/06/05 职场文书
公司年会主持词范文!
2019/05/07 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
python如何获取网络数据
2021/04/11 Python