• 基于css3的环形动态进度条(原创)


      基于css3实现的环形动态加载条,也用到了jquery。当时的想法是通过两个半圆的转动,来实现相应的效果,其实用css3的animation也可以实现这种效果。之所以用jquery是因为通过jquery可以在网站中动态改变加载的百分比。同时,用如果单纯用css3的animation的话扩展性太差,因为你要先确定出百分比是多少,而如果百分比超过一半时,左边的半圆也需转动,单纯用animation就太复杂了。

      另外,svg和canvas都可以实现这样的效果。canvas的话我感觉原理应该差不多。有人提到通过大量的图片来实现应该也可以。

    代码没有封装,封装的话可以做成一个插件。

    <!DOCTYPE html>
    <html>
    <head>
    	<title>circle loading</title>
    	<style>
    		.cricle{
    			200px;height:200px;background:#0cc;
    			border-radius:50%;position:absolute;
    		}
    		.pre_left, .pre_right {
        		 200px; 
        		height: 200px;
        		position: absolute;
        		top: 0;left: 0;
    		}
    		.left,.right{
    			display:block;
    			200px;height:200px;background:#00aacc;
    			position:absolute;top:0;left:0;border-radius:50%;
    		}
    		.pre_right, .right {
        		clip:rect(0,auto,auto,100px);
    		}
    		.pre_left, .left {
        		clip:rect(0,100px,auto,0);
    		}
    		.mask{
    			150px;height:150px;background:#fff;border-radius:50%;
    			position:absolute;top:25px;left:25px;
    			line-height:150px;text-align:center;color:#00aacc;font-size:30px;
    		}
    
    	</style>
    </head>
    <body>
    		<div class="cricle">
    			<div class="pre_left"><div class="left"></div></div>
    			<div class="pre_right"><div class="right"></div></div>
    			<div class="mask"><span>0</span>%</div>
    		</div>
    		<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    		<script>
    			function criclefn(num){
    				var degree=num*3.6;
    				if(degree>360) degree=360;
    				if(degree<0) degree=0;
    				
    				$({property:0}).animate({property:100},
    					{
    						duration:600,
    						step:function(){
    							var deg=this.property/100*degree;
    							var percent=parseInt(this.property/100*num)+1;
    							if (deg<=180) {
    								$(".right").css("-webkit-transform","rotate("+deg+"deg)");
    								$(".mask span").text(percent);
    							}else{
    								$(".cricle").css("background-color","orange");
    								$(".mask").css("color","orange");
    								deg=deg-180;
    								$(".right").css("-webkit-transform","rotate("+180+"deg)");
    								$(".left").css("-webkit-transform","rotate("+deg+"deg)");
    								$(".mask span").text(percent);
    							}				
    						}
    				});
    
    
    			}
    			$(function($){
    				criclefn(70);
    
    			});
    		</script>
    </body>
    </html>
    
  • 相关阅读:
    asp.net mvc在Model中控制日期格式
    MVC3.0删除数据的时候给提示信息
    Jquery的鼠标移动上去显示div,鼠标离开的时候隐藏div效果
    数据库的日志数据库(_log.ldf)文件太大,如何压缩
    如何在加载数据的时候给一个等待动画
    Div内部的内容超出部分显示省略号(仅仅只有一行内容)
    IIS7.0提示---无法识别的属性“targetFramework”。请注意属性名称区分大小写。
    如何用Jquery判断在键盘上敲的哪个按键
    Split()的简单的用法
    oracle AWR报告
  • 原文地址:https://www.cnblogs.com/dunken/p/4355196.html
Copyright © 2020-2023  润新知