在一些按钮的点击操作中,假如没有限制,用户多次点击,会向后台发送多次请求。
还有一种情况是:当页面加载时,假如数据没有加载完成,此时为了防止用户进行操作,会显示一个遮罩:加载中...。这个操作和上面差不多,只是触发方式不同,一个是在生命周期中触发,一个是通过用户点击触发
html:
css:
js:
html:
js:
当你使用了遮罩的方式,并且在向后台发送请求之前进行了验证,验证提示是以Message弹窗显示的,当用户多次点击时,会重复出现多次提示信息。
html:
js:
css样式:弹窗遮罩层在拉滚动条发现遮罩层没铺满屏幕
解决方式:把 absolute 换成 fixed
iview样式源码:
更改为 position: fixed
自己写遮罩的话,原理也是相同。
网站导航
1、直接贴图:在界面上贴一个gif动态等待效果图片
gif图片获取方式:网上找素材,会ps的可以自己制作
<img src="wait.gif" />
2、CSS3/SVG/HTML5 Canvas手动绘制等待效果:
这种效果:网上有很多类似素材,可以根据需要选择,或使用上述技术绘制
下面提供一个CSS3绘制的范例
<style>
.loading {
width:0
height:0
border-right:20px solid #fff
border-top:20px solid #000
border-left:20px solid #fff
border-bottom:20px solid #000
border-radius: 20px
-moz-border-radius: 20px
-webkit-border-radius: 20px
}
.loading {
animation: bganim 0.6s linear 0s infinite
-moz-animation: bganim 0.6s linear 0s infinite
-webkit-animation: bganim 0.6s linear 0s infinite
}
@keyframes bganim {
from { transform:rotate(0deg)} to { transform:rotate(360deg)}
}
@-moz-keyframes bganim {
from { -moz-transform:rotate(0deg)} to { -moz-transform:rotate(360deg)}
}
@-webkit-keyframes bganim {
from { -webkit-transform:rotate(0deg)} to { -webkit-transform:rotate(360deg)}
}
</style>
<label>CSS3效果</label>
<div class="loading"></div>
-------------------------------------------------
效果如下图:
运行机制很简单,先手动绘制一个静态的图,然后控制对应div进行360度旋转,即可实现
3、使用js等待效果插件(如:spin.js)
JS
-----------------------------------------------------
var opts = {
lines: 9,
length: 0,
width: 15,
radius: 20,
corners: 1,
rotate: 0,
direction: 1,
color: '#0101DF',
speed: 1,
trail: 34,
shadow: false,
hwaccel: false,
className: 'spinner',
zIndex: 2e9,
top: '50%',
left: '50%'
}
var target = document.getElementById('img_wait')
var spinner = new Spinner(opts).spin(target)
7
html
---------------------------------
<div id="img_wait"></div>
转自csdn上的答案,其实楼主大可在百度搜下迭代:
1、自己调用自己的方法,或者称递归。这个应该不用多说。
2、还有一种解释:很多程序有迭代器。这是一种用于“遍历”数组的工具对象。一般遍历一个数组都是使用循环变量从0到最后一个,或者使用链表遍历量表中内容。使用迭代器可以不关注数组的具体实现方式,遍历数组中所有成员。
遍历:
对数据结构中每一个成员都进行一次访问的操作就是遍历。比如遍历列表。最为常见得问题是遍历树,遍历树的常见方法有:先序/中序/后序,或者按照另一个纬度划分有,广度遍历和深度遍历。相关具体算法可以查找其他资料。