js实现滚动条效果
2016-08-10 00:00
288 查看
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> #con{height: 20px;width: 1px;background: #008000;text-align: center;color: #fff;} #btn{height: 20px;width: 40px;} </style> </head> <body> <div id="con"></div> <input type="submit" id="btn"value="点击"/> <input type="submit" id="stop" value="停止"/> <div></div> </body> <script type="text/javascript"> var oBtn=document.getElementById("btn"); var oStop=document.getElementById("stop"); var oCon=document.getElementById("con"); var process=0; var timer=null;//和setTimeout()一样,声明timer用来关闭requestAnimationFrame()(请求动画帧)的; var flag=false;//用来监视按钮,防止在运动中受按钮的重复影响 window.requestAnimationFrame=window.RequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame; window.cancelRequestAnimationFrame=window.CancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame; oBtn.addEventListener("click",function (){//添加时间委托,没写IE的兼容性 if(!flag){ timer=requestAnimationFrame(callback); } },false); oStop.addEventListener('click',function(){//添加时间委托 window.cancelRequestAnimationFrame(timer); flag=false; },false); function callback(){ process+=1;//缺点是如果这个数自加不会是100就会在小于100的最大倍数停止,如小数,3,7,等等 if(process<=100){ oCon.style.width=process+'%'; oCon.innerHTML=process+'%'; timer= requestAnimationFrame(callback);//用递归的方法来实现重复调用 } flag=true; } </script> </html>
相关文章推荐
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- js实现滚动条效果
- vue.js-div滚动条隐藏但有滚动效果的实现方法
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- js实现彩色条纹滚动条效果
- 原生js实现去掉滚动条后的整屏切换(平滑过渡效果)
- 原生JS实现自定义滚动条效果
- 博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
- JS实现网页上随滚动条滚动的层效果代码
- js 实现层随滚动条移动效果
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- 博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
- JS实现的页面自定义滚动条效果
- JS实现网页上随滚动条滚动的层效果代码
- vue.js-div滚动条隐藏但有滚动效果的实现
- JS自定义滚动条效果简单实现代码
- js实现动态拖动滚动条效果
- JS实现的页面自定义滚动条效果
- 关于用jquery.masonry.js实现动态加载效果(当页面滚动条拉到底部时时重新加载图片)
- js 实现层随滚动条移动效果