<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      讓你的網頁圖標(Favicon)變成動感的餅圖動畫

      您可能還喜歡

        網頁圖標(Favicon),就是頁面標題前面的那個小圖標,一般命名為 favicon.ico,存放在網站的根目錄下面。這個功能最早由微軟創設,目前主流的瀏覽器都支持。今天這篇文章教大家如何使用 Piecon 生成動感的網頁圖標加載動畫,效果如下:

       

       

      Piecon 基本原理

       

        Piecon 是著名的代碼托管平臺 Github 上的開源庫,能夠動態生成餅圖(Pie Charts)模式的網頁圖標,同時可以顯示加載的百分比。它的靈感來源于動態控制網頁圖標的開源庫 Tinycon,同樣托管在 Github 上面。

        Piecon 的基本原理是利用 HTML5 的 Canvas 標簽繪制餅圖并導出為圖片,核心代碼如下:

      var drawFavicon = function(percentage) {
      	var canvas = getCanvas();
      	var context = canvas.getContext("2d");
      	var percentage = percentage || 0;
      	var src = currentFavicon;
      
      	var faviconImage = new Image();
      	faviconImage.onload = function() {
      		if (context) {
      			context.clearRect(0, 0, 16, 16);
      
      			// Draw shadow
      			context.beginPath();
      			context.moveTo(canvas.width / 2, canvas.height / 2);
      			context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), 0, Math.PI * 2, false);
      			context.fillStyle = options.shadow;
      			context.fill();
      
      			// Draw background
      			context.beginPath();
      			context.moveTo(canvas.width / 2, canvas.height / 2);
      			context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, 0, Math.PI * 2, false);
      			context.fillStyle = options.background;
      			context.fill();
      
      			// Draw pie
      			if (percentage > 0) {
      				context.beginPath();
      				context.moveTo(canvas.width / 2, canvas.height / 2);
      				context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, (-0.5) * Math.PI, (-0.5 + 2 * percentage / 100) * Math.PI, false);
      				context.lineTo(canvas.width / 2, canvas.height / 2);
      				context.fillStyle = options.color;
      				context.fill();
      			}
      
      			setFaviconTag(canvas.toDataURL());
      		}
      	};
      
      	// allow cross origin resource requests if the image is not a data:uri
      	// as detailed here: https://github.com/mrdoob/three.js/issues/1305
      	if (!src.match(/^data/)) {
      		faviconImage.crossOrigin = 'anonymous';
      	}
      
      	faviconImage.src = src;
      };

        生成URL形式的圖片然后設置到 Favicon 的URL上并使用 setInterval 函數周期性更新。所以 Piecon 顯示的加載進度效果并不是網頁上實際內容的加載進度,只是一種模擬效果。例如我們平常配置網頁圖標的代碼如下:

      <link type="image/x-icon" rel="icon" href="favicon.ico">

        使用 Piecon 生成的餅圖模式的網頁圖標是Base64編碼的URL字符串,代碼如下:

      <link type="image/x-icon" rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABuklEQVQ4T41Tv0vDUBC+1IAojdQq3VVwUSxSdVD8DQ5OWsFNcdTBdhF0UJD6D9j+BS5uom46aLE4WSSYQhFxEmxLl1YaQSUp8e6ZxPYlFh8c7+5e7nvfXb4nALcMwwhiagFtAm3QPFZwv0E7FwSBfHsJtQEWb2J8iObhgc24jPs+giSscxsAi08wuUQHhUIB8vk8qKoKY+E0fHZLUF3tA1+ESLF1iiDsWwaAxRHc4rquQyaTgVKpZBOYmU+DRzNYrA75oeViBcROL4VRYiKYPd9jQpRlua6YvqoFYCAjHSDdrZNL7UwTwC46B0Q7m83aN1sOD0D5t/i41c4eAVxhbtbtdjcGHItrAihiMpBKpUDTtH8x0CURxMo2a6MhgPiuw+SyDII5RAtd9zaBqO6wbhq20K5UILT16GBVM0jWwp9D7DrOQc/RqwOAHyJJN4nm5wc5EHuGwO2vJtgAh/0gpTcYfbQph5AURYFymX4xwOjaA7TmvmwGagiFdMkJyTrlpVx8eoHgXBKqzR746G1DKfeDL2pL+QxVGKZat8cUw7zP0fhPgmjTY4pb53UAlDSlvYiu23Omm+ue8zcnJOKk+8JFaQAAAABJRU5ErkJggg==">

        把 href 中的代碼粘貼到瀏覽器地址欄回車即可看到圖片,感興趣的朋友可以試驗一下。點擊測試

         

      Piecon 使用方法

        

        相信大家看了前面的介紹之后,對 Piecon 的基本原理都了解了,那么它的使用方法就更簡單了。

        首頁需要引入 piecon.js 文件:

      <script src="piecon.js" type="text/javascript"></script> 

        然后設置 piecon 的顯示選項,并周期性更新,代碼如下:

      (function(){
      	var count = 86;
      	Piecon.setOptions({
      		color: '#ff0084', // 餅圖顏色
      		background: '#eee', // 餅圖空白部分的顏色
      		shadow: '#fff', // 餅圖外環顏色
      		fallback: 'force' // true:顯示餅圖, false:顯示百分比, 'force':同時顯示餅圖和百分比)
      	});
      	var i = setInterval(function(){
      		if (++count > 100) { Piecon.reset(); clearInterval(i); return false; }
      		Piecon.setProgress(count);
      	}, 250);
      })();

        setProgress 方法用于設置百分比,上面代碼中我們初始設置百分比為86,也可以設置為0或者其它值:

      Piecon.setProgress(12);
      Piecon.setProgress(25);
      Piecon.setProgress(50);

         瀏覽器兼容:因為使用了 HTML5 Canvas 標簽,所以在 Chrome 中效果最好,Firefox 和 Opera 餅圖會閃爍,Safari 和 IE 只能顯示百分比。這個效果完整的代碼如下:

      <!doctype html>
      <html>
      <head>
        <title>Piecon</title>
        <link rel="icon" href="favicon.ico" />
        <script src="piecon.js"></script>
        <script>
        (function(){
          var count = 86;
          Piecon.setOptions({
      		color: '#ff0084',
      		background: '#eee',
      		shadow: '#fff',
      		fallback: false
      	});
          var i = setInterval(function(){
            if (++count > 100) { Piecon.reset(); clearInterval(i); return false; }
            Piecon.setProgress(count);
          }, 250);
        })();
        </script>
      </head>
      <body>
      </body>
      </html>

       

      點擊預覽效果      下載示例代碼

       

      您可能還喜歡

       

      本文鏈接:網頁效果實戰:使用 Piecon 生成動感的網頁圖標

      編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源

      posted @ 2012-10-25 16:33  夢想天空(山邊小溪)  閱讀(11530)  評論(24)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美电影在线一区二区| 亚洲丶国产丶欧美一区二区三区| 亚洲精品成人福利网站| 日日爽日日操| av色国产色拍| 自拍偷自拍亚洲精品熟妇人| 成人性影院| 国产95在线 | 欧美| 国产精品99一区二区三区| 久久99热精品这里久久精品| 阿鲁科尔沁旗| 亚洲成色av网站午夜影视| 国产盗摄视频一区二区三区| 起碰免费公开97在线视频| 亚洲人成网站观看在线观看| 91亚洲国产成人久久蜜臀| 最新亚洲av日韩av二区| 啪啪av一区二区三区| 亚洲国产女性内射第一区| 肥大bbwbbw高潮抽搐| 虎白女粉嫩尤物福利视频| 国产最新AV在线播放不卡| 2021AV在线无码最新| 国产午夜精品一区二区三区不卡| 欧美精品18videosex性欧美 | 国产粉嫩区一区二区三区| 幻女free性俄罗斯毛片| 在线涩涩免费观看国产精品| 日韩精品理论片一区二区| 无码欧美毛片一区二区三| 无码日韩精品一区二区三区免费 | 国产高潮刺激叫喊视频| 亚洲精品香蕉一区二区| 亚洲一区二区三区十八禁| 国产成人啪精品午夜网站| 202丰满熟女妇大| 国产久免费热视频在线观看| 无码日韩av一区二区三区 | 瑞金市| 日韩一区二区三区亚洲一| 国产精品免费看久久久 |