主頁 > 前端設計 > 可視化2D影片—cavas旋轉的圈

可視化2D影片—cavas旋轉的圈

2021-10-28 08:10:40 前端設計

1.1 RotatingCircle 介紹

Cavas影片組件RotatingCircle是一個能夠自定義顏色、半徑、排序方式的圓形組件,具有2D影片效果,可以單獨使用也可以與echarts結合,組件由五個圓形圖組成,每個部分是獨立的引數控制,可以自定義圖形寬度、長度、顏色以及半徑等,

1.1.1 示例

控制元件獨立使用:

echarts組合使用:

1.1.2 代碼示例

(1)創建html檔案,引入js檔案

<script src="js/fatterRotating.mini.js"></script>

(2)指定cavas元素在頁面中的位置

<canvas id="canvasData" width="400px" height="400px" style="background: url('images/background.png')"></canvas>

(3)定義全域變數,用于第(5)步影片操作

var circle ;

(4)初始化RotatingCircle組件,設定組件引數

   var canvas = document.getElementById("canvasData");
    var txtOpts={
                    //文字樣式
                };
    var opts = [{
                    //影片圖形樣式
            }];
    circle = RotatingCircle(canvas,opts,txtOpts);
    circle.init();
    circle.chageTxt("80%");
    //動起來
    refer();

(5)執行影片特效

為了減小性能消耗,所有的影片都在一個定時器內進行,如果有其他組件影片統一放入refer中,通過window.requestAnimationFrame(callback)函式進行重復呼叫, 回呼函式執行次數通常是每秒60次,但在大多數遵循W3C建議的瀏覽器中,回呼函式執行次數通常與瀏覽器螢屏重繪次數相匹配,

//統一的影片入口
function refer(){
    window.requestAnimationFrame(function(){
        circle.createCircle();
        refer();
    });
}

示例代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Cavas影片組件RotatingCircle</title>
</head>
<body>
<canvas id="canvasData" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<script src="js/fatterRotating.js"></script>
<script>
    var circle ;
    function init(){
        //第一個圓圈
        var canvas = document.getElementById("canvasData");
        var txtOpts={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts = [{
            radius: 51,//半徑,內圓動態線,
            lineWidth: 10 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
            degreeStart: -90,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 50,//內圓線半徑,靜態的
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 53,//內刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 80,//外刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '219,38,40',//外刻度盤,變化色
            step:18, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle = RotatingCircle(canvas,opts,txtOpts);
        circle.init();
        circle.chageTxt("80%");
?
        //動起來
        refer();
    }
?
    //統一的影片入口
    function refer(){
        window.requestAnimationFrame(function(){
            circle.createCircle();
            refer();
        });
    }
?
    init();
?
?
</script>
</body>
</html>
1.1.3 引數說明

組件由五個圓形圖組成,每個部分是獨立的引數控制,可以自定義圖形寬度、長度、顏色以及半徑等,

1.1.3.1 文字引數

var txtOpts={
    content:'40%',
    txtColor:'RGB(21,253,255)',
    align:'center',
    font: '30px Arial', //CSS font 屬性相同的語法
    textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
};
引數說明備注
content內容
txtColor文字顏色RGB(21,253,255)或者#FF0000
align對齊方式'center'
font文字樣式CSS font 屬性相同的語法
textBaseline基線對齊方式//基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic

1.1.3.2內圓動態線(第一個圓)

{
    radius: 51,//半徑,內圓動態線,
    lineWidth: 10 ,//寬度,調整動態線寬度
    strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
    degreeStart: -90,//開始角度
    degreeEnd: 200,//結束角度
    stepStart: 4,//開始遞增數量
    stepEnd: 3,//結束遞增數量
    angleSpeed:0.01//轉動速度
}
?
引數說明備注
radius半徑,內圓動態線通過調整半徑大小,能夠自定義五個圖形的排序方式,從而形成新的影片圖形
lineWidth寬度,調整動態線寬度
strokeStyle顏色,支持rgb rgba 網頁等顏色支持透明度RGBA(200,200,200,0.5)
degreeStart開始角度
degreeEnd結束角度
stepStart開始遞增數量
stepEnd結束遞增數量
angleSpeed轉動速度

1.1.3.4靜態外圓(第三個圓)

{
    radius: 50,//靜態最外成圈,非刻度盤
    lineWidth: 1,
    strokeStyle: '#eeeeee',
    degreeStart: -90,
    degreeEnd: 360
}
引數說明備注
radius半徑通過調整半徑大小,能夠自定義五個圖形的排序方式,從而形成新的影片圖形
lineWidth寬度,調整動態線寬度可以與其他重疊
strokeStyle顏色,支持rgb rgba 網頁等顏色支持透明度RGBA(200,200,200,0.5)
degreeStart開始角度如果不想使用該圓,可以設定開始角度與結束角度相同,或者設定透明度
degreeEnd結束角度

1.1.3.5內刻度盤(第四個圓)

{
    radius: 53,//內刻度盤
    lineWidth: 5, //刻度盤寬度
    fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
    emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
    lengthParam:6,//刻度線長度
    step: 10 //變化占用多少個格 0-60
}
引數說明備注
radius半徑通過調整半徑大小,能夠自定義五個圖形的排序方式,從而形成新的影片圖形
lineWidth刻度盤寬度
fillStyle刻度盤靜態色顏色支持透明度RGBA(200,200,200,0.5)
emFillStyle刻度盤變化色
lengthParam刻度線長度
step變化占用多少個格資料需要0至60之間

1.1.3.6外刻度盤(第五個圓)

{
    radius: 80,//外刻度盤
    lineWidth: 5, //刻度盤寬度
    fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
    emFillStyle: '219,38,40',//外刻度盤,變化色
    step:18, //變化占用多少個格 0-19
    speed:0.4 //轉動速度
}
引數說明備注
radius半徑通過調整半徑大小,能夠自定義五個圖形的排序方式,從而形成新的影片圖形
lineWidth刻度盤寬度可以與其他重疊
fillStyle刻度盤靜態色顏色支持透明度RGBA(200,200,200,0.5)``
emFillStyle刻度盤變化色
step變化占用多少個格資料需要0至19之間
speed轉動速度

1.1.4 引數示例

1.1.4.1 示例1

//第一個圓圈
var canvas = document.getElementById("canvasData");
var txtOpts={
    content:'40%',
    txtColor:'RGB(21,253,255)',
    align:'center',
    font: '30px Arial', //CSS font 屬性相同的語法
    textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
};
var opts = [{
        radius: 51,//半徑,內圓動態線,
        lineWidth: 10 ,//寬度,調整動態線寬度
        strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
        degreeStart: -90,//開始角度
        degreeEnd: 200,//結束角度
        stepStart: 4,//開始遞增數量
        stepEnd: 3,//結束遞增數量
        angleSpeed:0.01//轉動速度
    },{
        radius: 50,//內圓線半徑,靜態的
        lineWidth: 1,
        strokeStyle: '#eeeeee',
        degreeStart: -90,
        degreeEnd: 360
    },{
        radius: 50,//靜態最外成圈,非刻度盤
        lineWidth: 1,
        strokeStyle: '#eeeeee',
        degreeStart: -90,
        degreeEnd: 360
    },{
        radius: 53,//內刻度盤
        lineWidth: 5, //刻度盤寬度
        fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
        emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
        lengthParam:6,//刻度線長度
        step: 10 //變化占用多少個格 0-60
    },{
        radius: 80,//外刻度盤
        lineWidth: 5, //刻度盤寬度
        fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
        emFillStyle: '219,38,40',//外刻度盤,變化色
        step:18, //變化占用多少個格 0-19
        speed:0.4 //轉動速度
}];
circle = RotatingCircle(canvas,opts,txtOpts);
circle.init();
circle.chageTxt("80%");

1.1.4.2 示例2

//第二個圓圈
        var canvas2 = document.getElementById("canvasData2");
        var txtOpts2={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts2 = [{
            radius: 40,//半徑,內圓動態線,
            lineWidth: 40 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
            degreeStart: -90,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 50,//內圓線半徑,靜態的
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 53,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '219,38,40',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle2 = RotatingCircle(canvas2,opts2,txtOpts2);
        circle2.init();
        circle2.chageTxt("20%");

1.1.4.3 示例3

 //第三個圓圈
        var canvas3 = document.getElementById("canvasData3");
        var txtOpts3={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts3 = [{
            radius: 85,//半徑,內圓動態線,
            lineWidth: 2 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(21,255,255,1)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 3,
            strokeStyle: 'RGBA(19,238,240,1)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 55,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 75,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:1,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 3, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle3 = RotatingCircle(canvas3,opts3,txtOpts3);
        circle3.init();
        circle3.chageTxt("20%");

1.1.4.4 示例4

var canvas4 = document.getElementById("canvasData4");
        var txtOpts4={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts4 = [{
            radius: 72,//半徑,內圓動態線,
            lineWidth: 2 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(255,255,255,1)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 5,
            strokeStyle: 'RGBA(21,255,255,0.5)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 75,//內刻度盤
            lineWidth: 1, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:19,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 2, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle4 = RotatingCircle(canvas4,opts4,txtOpts4);
        circle4.init();
        circle4.chageTxt("20%");

原始碼檔案:-----fatterRotating.mini.js-----

function RotatingCircle(canvas,optsParam,txtOptsParam){var obj=new Object();obj.ctx=canvas.getContext('2d');if(0==canvas.clientWidth||0==canvas.clientHeight){obj.size=Math.min(canvas.width,canvas.height)}else{obj.size=Math.min(canvas.clientWidth,canvas.clientHeight)}obj.opts=optsParam;obj.txtOpts=txtOptsParam;obj.degreeStart=0;obj.degreeEnd=0;obj.clockmoveStep=0;obj.clockmoveStepOut=0;obj.init=function(){obj.createCircle()};obj.createFont=function(){this.ctx.clearRect(0,0,this.size,this.size);this.ctx.font="30px Arial";this.ctx.fillText("Hello World",this.size,this.size)};obj.createCircle=function(){var _curOpts=this.opts[0];var radius=_curOpts.radius;var lineWidth=_curOpts.lineWidth;var strokeStyle=_curOpts.strokeStyle;var stepStart=_curOpts.stepStart;var stepEnd=_curOpts.stepEnd;var angleSpeed=_curOpts.angleSpeed;this.degreeStart=this.degreeStart+stepStart;this.degreeEnd=this.degreeEnd+stepEnd;if(this.degreeStart-360>this.degreeEnd){this.degreeStart-=720}this.ctx.clearRect(0,0,this.size,this.size);this.ctx.lineWidth=lineWidth;this.ctx.strokeStyle=strokeStyle;this.ctx.beginPath();this.ctx.arc(this.size/ 2, this.size /2,radius-lineWidth/ 2, (this.degreeStart < this.degreeEnd ? this.degreeStart : this.degreeEnd) * Math.PI /180,(this.degreeStart<this.degreeEnd?this.degreeEnd:this.degreeStart)*Math.PI/180,false);this.ctx.stroke();this.ctx.save();var _curOpts2=this.opts[1];var lineWidth2=_curOpts2.lineWidth;var strokeStyle2=_curOpts2.strokeStyle;var radius2=_curOpts2.radius;var degreeStart2=_curOpts2.degreeStart;var degreeEnd2=_curOpts2.degreeEnd;this.ctx.lineWidth=lineWidth2;this.ctx.strokeStyle=strokeStyle2;this.ctx.beginPath();this.ctx.arc(this.size/ 2, this.size /2,radius2-lineWidth2/ 2, (degreeStart2) * Math.PI /180,(degreeEnd2)*Math.PI/180,false);this.ctx.stroke();this.ctx.restore();this.ctx.save();var _curOpts4=this.opts[3];var _emFillStyle4=_curOpts4.emFillStyle;var _fillStyle4=_curOpts4.fillStyle;var _step4=_curOpts4.step;var _radius4=_curOpts4.radius;var _lengthParam4=_curOpts4.lengthParam;this.ctx.lineWidth=_curOpts4.lineWidth;this.ctx.translate(this.size/ 2, this.size /2);for(var i=0;i<60;i++){if(i%5!=0){if(i>=this.clockmoveStep&&i<this.clockmoveStep+_step4){this.ctx.strokeStyle=_emFillStyle4}else{this.ctx.strokeStyle=_fillStyle4}this.ctx.beginPath();this.ctx.moveTo(_radius4,0);this.ctx.lineTo(_radius4+_lengthParam4,0);this.ctx.stroke()}this.ctx.rotate((-Math.PI/30))}this.clockmoveStep=this.clockmoveStep>=60?0:(this.clockmoveStep+0.5);this.ctx.restore();this.ctx.save();var _curOpts3=this.opts[2];var lineWidth3=_curOpts3.lineWidth;var strokeStyle3=_curOpts3.strokeStyle;var radius3=_curOpts3.radius;var degreeStart3=_curOpts3.degreeStart;var degreeEnd3=_curOpts3.degreeEnd;this.ctx.lineWidth=lineWidth3;this.ctx.strokeStyle=strokeStyle3;this.ctx.beginPath();this.ctx.arc(this.size/ 2, this.size /2,radius3+lineWidth3+14,(degreeStart3)*Math.PI/ 180, (degreeEnd3) * Math.PI /180,false);this.ctx.stroke();this.ctx.restore();this.ctx.save();this.ctx.beginPath();this.ctx.restore();this.ctx.font=this.txtOpts.font;this.ctx.textAlign=this.txtOpts.align;this.ctx.fillStyle=this.txtOpts.txtColor;this.ctx.textBaseline=this.txtOpts.textBaseline;this.ctx.fillText(this.txtOpts.content,this.size/ 2, this.size /2);this.ctx.restore();this.ctx.save();var _curOpts5=this.opts[4];var _emFillStyle5=_curOpts5.emFillStyle;var _fillStyle5=_curOpts5.fillStyle;var _step5=_curOpts5.step;var _speed5=_curOpts5.speed;var _radius5=_curOpts5.radius;var _lineWidth5=_curOpts5.lineWidth; this.ctx.translate(this.size/ 2, this.size /2);this.ctx.lineWidth=_lineWidth5;for(var i=0;i<60;i++){if((i>=this.clockmoveStepOut&&i<this.clockmoveStepOut+_step5)){this.ctx.fillStyle="RGBA("+_emFillStyle5+","+(i-this.clockmoveStepOut)/20+")"}else if(i>=(this.clockmoveStepOut+20)&&i<this.clockmoveStepOut+20+_step5){this.ctx.fillStyle="RGBA("+_emFillStyle5+","+(i-this.clockmoveStepOut-20)/20+")"}else if(i>=(this.clockmoveStepOut+40)&&i<this.clockmoveStepOut+40+_step5){this.ctx.fillStyle="RGBA("+_emFillStyle5+","+(i-this.clockmoveStepOut-40)/20+")"}else if(this.clockmoveStepOut+(40+_step5)>60&&i<(this.clockmoveStepOut+(40+_step5)-60)){this.ctx.fillStyle="RGBA("+_emFillStyle5+","+(20-this.clockmoveStepOut+i)/20+")"}else{this.ctx.fillStyle=_fillStyle5}this.ctx.beginPath();this.ctx.arc(_radius5,0,_lineWidth5,0,Math.PI*2,false);this.ctx.fill();this.ctx.rotate((Math.PI/30))}this.clockmoveStepOut=this.clockmoveStepOut>=20?0:(this.clockmoveStepOut+_speed5);this.ctx.restore()};obj.chageTxt=function(contentTxt){if(null!=this.txtOpts){this.txtOpts.content=contentTxt}};return obj};

原始碼檔案:-----html頁面-----

<!DOCTYPE html>
<html lang="en">
<head>
<!--
    牟云飛
    15562579597
-->
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<canvas id="canvasData" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData2" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData3" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData4" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData5" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData6" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData7" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<canvas id="canvasData8" width="400px" height="400px" style="background: url('images/background.png')"></canvas>
<script src="js/fatterRotating.mini.js"></script>
<script>

    var circle ;
    var circle2 ;
    var circle3 ;
    var circle4 ;
    var circle5 ;
    var circle6 ;
    var circle7 ;
    var circle8 ;
    function init(){
        //第一個圓圈
        var canvas = document.getElementById("canvasData");
        var txtOpts={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts = [{
            radius: 51,//半徑,內圓動態線,
            lineWidth: 10 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
            degreeStart: -90,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 50,//內圓線半徑,靜態的
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: 360,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 53,//內刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 80,//外刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '219,38,40',//外刻度盤,變化色
            step:18, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle = RotatingCircle(canvas,opts,txtOpts);
        circle.init();
        circle.chageTxt("80%");

        //第二個圓圈
        var canvas2 = document.getElementById("canvasData2");
        var txtOpts2={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts2 = [{
            radius: 40,//半徑,內圓動態線,
            lineWidth: 40 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.5)',//顏色,支持rgb rgba 網頁等
            degreeStart: -90,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 50,//內圓線半徑,靜態的
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 53,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '219,38,40',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle2 = RotatingCircle(canvas2,opts2,txtOpts2);
        circle2.init();
        circle2.chageTxt("20%");


        //第三個圓圈
        var canvas3 = document.getElementById("canvasData3");
        var txtOpts3={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts3 = [{
            radius: 85,//半徑,內圓動態線,
            lineWidth: 2 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(21,255,255,1)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 3,
            strokeStyle: 'RGBA(19,238,240,1)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 55,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 75,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:1,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 3, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle3 = RotatingCircle(canvas3,opts3,txtOpts3);
        circle3.init();
        circle3.chageTxt("20%");

        //第三個圓圈
        var canvas4 = document.getElementById("canvasData4");
        var txtOpts4={
            content:'40%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts4 = [{
            radius: 72,//半徑,內圓動態線,
            lineWidth: 2 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(255,255,255,1)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 5,
            strokeStyle: 'RGBA(21,255,255,0.5)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 75,//內刻度盤
            lineWidth: 4, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:12,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 50,//外刻度盤
            lineWidth: 2, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle4 = RotatingCircle(canvas4,opts4,txtOpts4);
        circle4.init();
        circle4.chageTxt("20%");


        //第五個圓圈
        var canvas5 = document.getElementById("canvasData5");
        var txtOpts5={
            content:'88%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts5 = [{
            radius: 90,//半徑,內圓動態線,
            lineWidth: 20 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(21,253,255,0.5)',//顏色,支持rgb rgba 網頁等
            degreeStart: -90,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 50,//內圓線半徑,靜態的
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: 360,
            degreeEnd: 360
        },{
            radius: 50,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: '#eeeeee',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 53,//內刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 80,//外刻度盤
            lineWidth: 5, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0)',//外刻度盤,靜態色
            emFillStyle: '219,38,40',//外刻度盤,變化色
            step:18, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle5 = RotatingCircle(canvas5,opts5,txtOpts5);
        circle5.init();
        circle5.chageTxt("66%");


        //第六個圓圈
        var canvas6 = document.getElementById("canvasData6");
        var txtOpts6={
            content:'88%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts6 = [{
            radius: 60,//半徑,內圓動態線,
            lineWidth: 6 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.6)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 3,
            strokeStyle: 'RGBA(19,238,240,1)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 55,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: 'RGBA(19,238,240,0)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 70,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:2,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 85,//外刻度盤
            lineWidth: 3, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0.3)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle6 = RotatingCircle(canvas6,opts6,txtOpts6);
        circle6.init();
        circle6.chageTxt("66%");

        //第七個圓圈
        var canvas7 = document.getElementById("canvasData7");
        var txtOpts7={
            content:'88%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts7 = [{
            radius: 60,//半徑,內圓動態線,
            lineWidth: 6 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.6)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 3,
            strokeStyle: 'RGBA(19,238,240,1)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 55,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: 'RGBA(19,238,240,0)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 70,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:6,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 85,//外刻度盤
            lineWidth: 6, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0.3)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle7 = RotatingCircle(canvas7,opts7,txtOpts7);
        circle7.init();
        circle7.chageTxt("66%");

        //第八個圓圈
        var canvas8 = document.getElementById("canvasData8");
        var txtOpts8={
            content:'88%',
            txtColor:'RGB(21,253,255)',
            align:'center',
            font: '30px Arial', //CSS font 屬性相同的語法
            textBaseline:'middle'  //基線對齊選項,top, hanging, middle, alphabetic, ideographic, bottom,默認值是 alphabetic
        };
        var opts8 = [{
            radius: 60,//半徑,內圓動態線,
            lineWidth: 30 ,//寬度,調整動態線寬度
            strokeStyle: 'RGBA(200,200,200,0.6)',//顏色,支持rgb rgba 網頁等
            degreeStart: -180,//開始角度
            degreeEnd: 200,//結束角度
            stepStart: 4,//開始遞增數量
            stepEnd: 3,//結束遞增數量
            angleSpeed:0.01//轉動速度
        },{
            radius: 65,//內圓線半徑,靜態的
            lineWidth: 3,
            strokeStyle: 'RGBA(19,238,240,1)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 55,//靜態最外成圈,非刻度盤
            lineWidth: 1,
            strokeStyle: 'RGBA(19,238,240,0)',
            degreeStart: -90,
            degreeEnd: 360
        },{
            radius: 70,//內刻度盤
            lineWidth: 8, //刻度盤寬度
            fillStyle:'RGBA(19,238,240,1)',//內刻度盤,靜態色
            emFillStyle: 'RGB(255,255,255)',//內刻度盤,變化色
            lengthParam:16,//刻度線長度
            step: 10 //變化占用多少個格 0-60
        },{
            radius: 85,//外刻度盤
            lineWidth: 6, //刻度盤寬度
            fillStyle:'RGBA(21,253,255,0.3)',//外刻度盤,靜態色
            emFillStyle: '21,253,255',//外刻度盤,變化色
            step:12, //變化占用多少個格 0-19
            speed:0.4 //轉動速度
        }];
        circle8 = RotatingCircle(canvas8,opts8,txtOpts8);
        circle8.init();
        circle8.chageTxt("66%");
        //動起來
        refer();
    }

    //統一的影片入口
    function refer(){
        window.requestAnimationFrame(function(){
            circle.createCircle();
            circle2.createCircle();
            circle3.createCircle();
            circle4.createCircle();
            circle5.createCircle();
            circle6.createCircle();
            circle7.createCircle();
            circle8.createCircle();
            refer();
        });
    }

    init();


</script>
</body>
</html>

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/339183.html

標籤:其他

上一篇:vue 實作 全選功能

下一篇:Vue專案中實作用戶登錄及token驗證的實作方法

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more