JS实现的自定义显示加载等待图片插件(loading.gif)
本文实例讲述了JS实现的自定义显示加载等待图片插件。分享给大家供大家参考,具体如下:
在工作中遇到了一个问题——某个业务流程分为几个阶段,每个阶段如果在数据没有显示出来之前就要显示加载图片loading.gif文件,如果有数据了就消失。为此,自己写了一个方法,方便整个工程使用。
<buttononclick="show()">show</button> <buttononclick="hide()">hide</button> <script> //创建加载对象 varobj=newloadingImg(); //显示加载图片 functionshow(){ obj.show(); } //隐藏加载图片 functionhide(){ obj.hide(); } //加载图片方法(对象) functionloadingImg(mySetting){ varthat=this; if(mySetting==""||mySetting==undefined||typeofmySetting!="object"){ mySetting={}; } //使用时间戳作为空间的ID vartargetID=newDate().getTime(); this.setting={ //插入图片的容器,使用jquery的查询方式传入参数 targetConater:"", //使用图片的地址 imgUrl:"../img/loading.gif", //图片显示的宽度 imgWidth:"32px", //图片的默认样式 imgClass:"", //生成控件的ID "targetID":targetID, //显示之前的回调函数 beforeShow:function(plugin){ }, //显示之后的回调函数 afterShow:function(plugin,targetID){ } } this.setting=$.extend(this.setting,mySetting); //获取屏幕的宽度 this.getScreenWidth=function(){ returndocument.documentElement.clientWidth; } //获取屏幕的高度 this.getScreenHeight=function(){ returndocument.documentElement.clientHeight; } //显示控件 this.show=function(){ $("#"+that.setting.targetID).show(); } //隐藏控件 this.hide=function(){ $("#"+that.setting.targetID).hide(); } this.init=function(){ //显示之前执行回调函数 if(typeofthat.setting.beforeShow=="function"){ that.setting.beforeShow(that); } //存放字符串的变量 vartargetHTML=''; //将内容存放到指定的容器中,默认存放到body最底部 if(that.setting.targetConater!=""&&this.setting.targetConater!=undefined){ targetHTML='<imgsrc="'+that.setting.imgUrl+'"class="'+that.setting.imgClass+'"id="'+that.setting.targetID+'"style="display:none;">'; $(that.setting.targetConater).html(targetHTML); }else{ targetHTML='<imgsrc="'+that.setting.imgUrl+'"class="'+that.setting.imgClass+'">'; targetHTML='<divid="'+that.setting.targetID+'"style="display:none;position:absolute;top:50%;left:50%;height:'+that.getScreenHeight()+';width:'+that.getScreenWidth()+'">'+targetHTML+'</div>'; $("body").append(targetHTML); } //判断用户是否自定义了图片的宽度 if(that.setting.imgWidth!=""&&that.setting.imgWidth.indexOf("px")>0){ $("#"+targetID).css("width",that.setting.imgWidth); } //显示之后执行回调函数 if(typeofthat.setting.afterShow=="function"){ that.setting.afterShow(that,targetID); } } this.init(); } </script>
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。