javascript自定义加载loading效果_javascript技巧

来源:脚本之家  责任编辑:小易  

<html> <head> <script> function loading(){ var div1=document.getElementById("div1"); div1.innerHTML = "loading..."; div1.style.display="block"; } function finish(){ var div1=document.getElementById("div1"); div1.innerHTML = ""; div1.style.display="none"; } </script> </head> <body> <input type="button" value="标题211352611" onclick="loading()"> <input type="button" value="完成41021653" onclick="finish()"> <p><p> <div style="display:none" id="div1" > </div> </body></html>,来了吧 看这2113里的代5261码 http://www.crown-golf.com.cn/news/moments.html 点击图片时,4102有一个loading的效果1653www.zgxue.com防采集请勿采集本网。

本文实例为大家分享了javascript自定义加载loading效果的具体代码,供大家参考,具体内容如下

可以使用第三方的控件Developer-Express来实现; 安装完Developer以后,从工具箱中拖一个ASPxLoadingPanel到页面中,设置必须的一个属性ClientInstance

加载中图片,底色为白色(看不到)

拿ajax举例 先做loading动画 然后当数据读取完成后 移除loading动画 写入数据到对应元素里

效果如图:

点击加载显示loading的图片。在success里面再将loading图片隐藏掉

使用方法

new loading()是创建一个加载对象,第二个是id名,获取id为loading这个元素

this.tool.showLoading('加载中', this)this.tool.showLoading('合成中', this)this.tool.hideLoading()

首先引用jquery.scrollLoading.js(上一篇博文有)和jquery.js 把下面代码放到标签里,就会得到异步加载图片的效果 //这个在我上一篇博文有这个 $(document).ready(

引用文件

在App.vue中

<style scoped>@import './common.css';</style>

在main.js中

import tools from './tools'Vue.prototype.tool = tools

tools.js

export default { //显示加载框---使用方法,例如:this.tool.showLoading('正在加载',this,'1') showLoading (message, el, type) { var html = ''; html += '<i class="mui-spinner mui-spinner-white"></i>'; html += '<p class="text">' + (message || "数据加载中") + '</p>'; //遮罩层 var mask = document.getElementsByClassName("mui-show-loading-mask"); if (mask.length == 0) { mask = document.createElement('div'); mask.classList.add("mui-show-loading-mask"); // console.log(type) // 自己添加内容...start if (type !== '2' && type) { var winHig = document.documentElement.clientHeight; if (el.$refs.nav) { var heightNav = el.$refs.nav.offsetHeight; var heightFix = el.$refs.fixed.offsetHeight; if (type === '1') { var loHig = winHig - heightNav - heightFix + 'px' } else { loHig = winHig - heightFix + 'px' } mask.style.top = heightFix + 'px' mask.style.height = loHig } } // 自己添加内容...End document.body.appendChild(mask); mask.addEventListener("touchmove", function (e) { e.stopPropagation(); e.preventDefault(); }); } else { mask[0].classList.remove("mui-show-loading-mask-hidden"); } //加载框 var toast = document.getElementsByClassName("mui-show-loading"); if (toast.length == 0) { toast = document.createElement('div'); toast.classList.add("mui-show-loading"); toast.classList.add('loading-visible'); document.body.appendChild(toast); toast.innerHTML = html; toast.addEventListener("touchmove", function (e) { e.stopPropagation(); e.preventDefault(); }); } else { toast[0].innerHTML = html; toast[0].classList.add("loading-visible"); } }, //隐藏加载框----使用方法,例如:this.tool.hideLoading(); hideLoading (callback) { var mask = document.getElementsByClassName("mui-show-loading-mask"); var toast = document.getElementsByClassName("mui-show-loading"); if (mask.length > 0) { mask[0].classList.add("mui-show-loading-mask-hidden"); } if (toast.length > 0) { toast[0].classList.remove("loading-visible"); callback && callback(); }}

common.css

/*----------------mui.showLoading---------------*/.mui-show-loading { position: fixed; padding: 5px; width: 120px; min-height: 120px; top: 45%; left: 50%; margin-left: -60px; background: rgba(0, 0, 0, 0.6); text-align: center; border-radius: 5px; color: #FFFFFF; visibility: hidden; margin: 0; z-index: 2000; -webkit-transition-duration: .2s; transition-duration: .2s; opacity: 0; -webkit-transform: scale(0.9) translate(-50%, -50%); transform: scale(0.9) translate(-50%, -50%); -webkit-transform-origin: 0 0; transform-origin: 0 0;}.mui-show-loading.loading-visible { opacity: 1; visibility: visible; -webkit-transform: scale(1) translate(-50%, -50%); transform: scale(1) translate(-50%, -50%);}.mui-show-loading .mui-spinner { margin-top: 24px; width: 36px; height: 36px;}.mui-show-loading .text { line-height: 1.6; font-family: -apple-system-font, "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0 0; color: #fff;}.mui-show-loading-mask { position: fixed; z-index: 1000; top: 0; right: 0; left: 0; bottom: 0; background-color: rgba(0, 0, 0, 0);}.mui-show-loading-mask-hidden { display: none !important;}/*toast信息提示*/.mui-toast-container { top: 5% !important; width: auto; text-align: center;}.mui-toast-message { background: url(/app/themes/default/images/toast.png) no-repeat center 10px #000; background-color: rgba(0, 0, 0, .8); color: #fff; /* max-width: 90%; */ display: inline-block; width: auto; margin: 0 auto; /* padding: 70px 5px 10px 5px; */}.mui-spinner-white:after { background-image: url(./assets/loding.png);}.mui-loading .mui-spinner { display: block; margin: 0 auto;}.mui-spinner { display: inline-block; width: 24px; height: 24px; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: spinner-spin 1s step-end infinite; animation: spinner-spin 1s step-end infinite;}.mui-btn .mui-spinner { width: 14px; height: 14px; vertical-align: text-bottom;}.mui-btn-block .mui-spinner { width: 22px; height: 22px;}.mui-spinner:after { display: block; width: 100%; height: 100%; content: ''; background-repeat: no-repeat; background-position: 50%; background-size: 100%;}@-webkit-keyframes spinner-spin { 0% { -webkit-transform: rotate(0deg); } 8.33333333% { -webkit-transform: rotate(30deg); } 16.66666667% { -webkit-transform: rotate(60deg); } 25% { -webkit-transform: rotate(90deg); } 33.33333333% { -webkit-transform: rotate(120deg); } 41.66666667% { -webkit-transform: rotate(150deg); } 50% { -webkit-transform: rotate(180deg); } 58.33333333% { -webkit-transform: rotate(210deg); } 66.66666667% { -webkit-transform: rotate(240deg); } 75% { -webkit-transform: rotate(270deg); } 83.33333333% { -webkit-transform: rotate(300deg); } 91.66666667% { -webkit-transform: rotate(330deg); } 100% { -webkit-transform: rotate(360deg); }}@keyframes spinner-spin { 0% { transform: rotate(0deg); } 8.33333333% { transform: rotate(30deg); } 16.66666667% { transform: rotate(60deg); } 25% { transform: rotate(90deg); } 33.33333333% { transform: rotate(120deg); } 41.66666667% { transform: rotate(150deg); } 50% { transform: rotate(180deg); } 58.33333333% { transform: rotate(210deg); } 66.66666667% { transform: rotate(240deg); } 75% { transform: rotate(270deg); } 83.33333333% { transform: rotate(300deg); } 91.66666667% { transform: rotate(330deg); } 100% { transform: rotate(360deg); }}

onload事件是网页所有内容载入完后激活。那么如果你做loading效果。只能用它去处理了。做个loading的div最onload事件里隐藏它。更多追问追答追问如果用ajax调用用当前页的方式应该怎么实现呢?有可能吗?比如if (xmlHttp.readyState==4)时调用一个然后再else调用一个但就是不知道xmlHttp.open("GET",url,true);这个url应该怎么调用了,在网上查了一下,js获取当前页网址的方法,但没有找到获取当前页变量的方法追答绝对不行。 1.xmlhttp是根据返回的数据来显示状态。理论上你的页面html访问了2次. 2.xmlhttp因为只访问的是html部分的代码,如果你应用了css、js和插入了图片等。xmlhttp是无法抓取的。它只能取到的是他们的引用或者是插入代码。追问也就是说除了,先显示loading然后onload后,再隐藏这个loading,没有其它的更好的办法了吗?追答没有。因为onload是在所有的页面数据载入完后,促发onload事件。所有你用其他的方法,最终还是要用到onload,在window.onload=function(){ //做你要显示的操作},那是个图片在做旋转运动的3d效果找一张那样的图片在需要的地方实现旋转就可以了,onLoad 方法 试试什么样的例子网上都有的 你分开搜索追问你的意思是 在页面最顶层做了loading的文字或图片,然后onLoad之后再隐藏这个图片或文字?总觉得这不是最好的方法,有没有什么其它的方法?,做个队列加载内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • js使用原型对象(prototype)需要注意的地方
  • javascript表单正则应用
  • javascript 异常处理 详解
  • 值得学习的bootstrap fileinput文件上传工具
  • vscode 配置react native开发环境的方法
  • 基于javascript的form表单验证
  • javascript function(函数类型)使用与注意事项小结
  • javascript中九种常用排序算法
  • 微信小程序跨页面传递data数据方法解析
  • 详解如何给react-router添加路由页面切换时的过渡动画
  • 用javascript 怎么实现网页loading加载效果?
  • 关于 javascript loading效果
  • js实现正在加载,请稍后的 效果怎么实现的
  • 用JQuery实现页面Loading的效果,即:当页面加载完...
  • js如何做等待页面加载效果
  • js实现正在加载(查询),请稍后的 效果怎么实现的
  • 在JS代码中加入加载中显示等待图片
  • javascript loading()详细解释
  • js怎么异步加载loading
  • JS问题:真实loading 页面加载完在显示页面
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础知识javascript类库表单特效广告代码网页特效黑客性质javascript技巧domnode.jsjs其它首页javascript为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题图片懒加载imglazyloading.js使用详解javascript实现一个网页加载进度loadingjs实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】js实现的自定义显示加载等待图片插件(loading.gif)基于javascript实现页面加载loading效果javascript优化专题之loading and execution加载和运行js loading加载效果实现代码js使用原型对象(prototype)需要注意的地方javascript表单正则应用javascript 异常处理 详解值得学习的bootstrap fileinput文件上传工具vscode 配置react native开发环境的方法基于javascript的form表单验证javascript function(函数类型)使用与注意事项小结javascript中九种常用排序算法微信小程序跨页面传递data数据方法解析详解如何给react-router添加路由页面切换时的过渡动画js刷新页面方法大全js中settimeout()的用法详解js截取字符串常用方法详细整理js页面跳转常用的几种方式js删除数组里的某个元素方法js打开新窗口的2种方式js数组与字符串的相互转换方法js设置cookie、读取cookie、删除js 将json字符串转换为json对象的js关闭当前页面(窗口)的几种方式论坛特效代码收集(落伍转发-不错)超实用的javascript时间处理总结javascript代码加载优化方法围观tangram js库javascript编程开发中的五个实用小技巧深入理解js中的加载事件js实现交换运动效果的方法javascript 10件让人费解的事情javascript 题型问答有答案参考laydate只显示时分 不显示秒的功能实现方
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved