[AS3]As3与lightbox显示实时加载图片的进度情况
[AS3]As3与lightbox显示实时加载图片的进度情况
不久前在csdn的js板块看到一个as+js+lightbox动态加载图片显示进度的程序,随便帮改了下代码。后面要帮女朋友搞她设计作品的展示时发 现代码中的flash只提供了成功加载时的回调函数,而如果图片未找到或者刚开始加载时没有什么提示。所以自己把swf反编译了一下,修改了as脚本,使 之拥有了4个回调,加载图片开始,过程,成功加载和错误的回调,增强下用户体验O(∩_∩)O~
- //loadUrl:要加载的图片地址URL
- //loading:加载过程反馈信息的js函数名 ,参数 function(p:完成百分比,loaded:已经加载的,total:总大小)
- ///Success:成功加载完成后执行的js函数名,参数 function(w:图片原始长度,h:图片原始宽)
- //Failure:加载失败执行的函数名称,参数 function(msg:错误信息)
- function loadPicture(loadUrl,loading,Success,Failure)
- {
- var _loc2 = random(1000000000);
- _root.createEmptyMovieClip("loadMc" + _loc2, _root.getNextHighestDepth());
- //这里flash使用了一个类as.loadPic,在下面贴出代码
- new as.loadPic(_root["loadMc" + _loc2], loadUrl
- , function (ob){//成功时调用js传递进来的js回调函数,下面同理
- new flash.external.ExternalInterface.call(Success,loadUrl, ob._width, ob._height);
- }
- , function (loadN,loaded,total){//过程
- new flash.external.ExternalInterface.call(loading, loadN, loaded,total);
- }
- , function (err){//发生错误
- new flash.external.ExternalInterface.call(Failure,err);
- });
- } // End of the function
- //使用flash.external.ExternalInterface接口注册给js调用的函数
- flash.external.ExternalInterface.addCallback("forJS", null, loadPicture);
loadPic.as源代码
- class as.loadPic{
- function loadPic(ob, uri,Success, loadIng,Failure){
- if (ob && uri){
- var _loc2 = new MovieClipLoader();
- var _loc1 = new Object();
- var loadnum;
- _loc1.onLoadStart = function (tmc){
- };
- _loc1.onLoadProgress = function (tmc, loadedBytes, totalBytes){
- loadnum = int(loadedBytes / totalBytes * 100);
- loadIng(loadnum,loadedBytes,totalBytes);
- };
- _loc1.onLoadComplete = function (tmc){
- };
- _loc1.onLoadInit = function (tmc){
- if (Success && typeof(Success) == "function")Success(tmc);
- };
- _loc1.onLoadError = function (tmc, errc){
- if (Failure && typeof(Failure) == "function")Failure(errc);
- };
- _loc2.addListener(_loc1);
- _loc2.loadClip(uri, ob);
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...