検索

       HTML5在移动设备上表现,相信已经不用我多说了,干掉了Flash之后,它已经坐上了移动应用程序的第一把交椅。几乎所有稍微高端一点的设备(乔帮主的iPad,iPhone和Andriod的平板手机等)的浏览器都支持HTML5,而且据权威人士测试,这些支持HTML5的设备对Canvas标签的支持也是相当的好。

        大家都知道Web2.0以来,应用程序的实现使用了大量Ajax,而Loading的小图标也有很多,甚至还有专门提供Loading图片的网站,所以我就想能不能让HTML5一并解决这个以前用gif文件才能解决的问题。出乎我意料的是,实现的过程非常简单,只用了不到一小时的时间我就用HTML5实验出了两个Loading效果,而且这样做出来的Loading图标是可定制的,既可以定制颜色,也可以定制大小等属性。

        第一个带着小尾巴转动的loading图标画图的思路是,首先画一个圆,然后在圆的边上按顺序画大小逐渐减小的小圆点,在每次刷新画布时改变这一系列的小圆点在大圆边上的位置。

        这里是案例的演示代码:



  1.   
  2.    
  3.    loading
  4.    
  5.     function loading(canvas,options){
  6.       this.canvas = canvas;
  7.       if(options){
  8.         this.radius = options.radius||12;
  9.         this.circleLineWidth = options.circleLineWidth||4;
  10.         this.circleColor = options.circleColor||'lightgray';
  11.         this.dotColor = options.dotColor||'gray';
  12.       }else{
  13.         this.radius = 12;
  14.         this.circelLineWidth = 4;
  15.         this.circleColor = 'lightgray';
  16.         this.dotColor = 'gray';
  17.       }
  18.     }
  19.     loading.prototype = {
  20.       show:function (){
  21.         var canvas = this.canvas;
  22.         if(!canvas.getContext)return;
  23.         if(canvas.__loading)return;
  24.         canvas.__loading = this;
  25.         var ctx = canvas.getContext('2d');
  26.         var radius = this.radius;
  27.         var rotators = [{angle:0,radius:1.5},{angle:3/radius,radius:2},{angle:7/radius,radius:2.5},{angle:12/radius,radius:3}];
  28.         var me = this;
  29.         canvas.loadingInterval = setInterval(function(){
  30.           ctx.clearRect(0,0,canvas.width,canvas.height);
  31.           var lineWidth = me.circleLineWidth;
  32.           var center = {x:canvas.width/2 - radius,y:canvas.height/2-radius};
  33.           ctx.beginPath();
  34.           ctx.lineWidth = lineWidth;
  35.           ctx.strokeStyle = me.circleColor;
  36.           ctx.arc(center.x,center.y,radius,0,Math.PI*2);
  37.           ctx.closePath();
  38.           ctx.stroke();
  39.           for(var i=0;i
  40.             var rotatorAngle = rotators[i].currentAngle||rotators[i].angle;
  41.             //在圆圈上面画小圆
  42.             var rotatorCenter = {x:center.x-(radius)*Math.cos(rotatorAngle) ,y:center.y-(radius)*Math.sin(rotatorAngle)};
  43.             var rotatorRadius = rotators[i].radius;
  44.             ctx.beginPath();
  45.             ctx.fillStyle = me.dotColor;
  46.             ctx.arc(rotatorCenter.x,rotatorCenter.y,rotatorRadius,0,Math.PI*2);
  47.             ctx.closePath();
  48.             ctx.fill();
  49.             rotators[i].currentAngle = rotatorAngle+4/radius;
  50.           }
  51.         },50);
  52.       },
  53.       hide:function(){
  54.         var canvas = this.canvas;
  55.         canvas.__loading = false;
  56.         if(canvas.loadingInterval){
  57.           window.clearInterval(canvas.loadingInterval);
  58.         }
  59.         var ctx = canvas.getContext('2d');
  60.         if(ctx)ctx.clearRect(0,0,canvas.width,canvas.height);
  61.       }
  62.     };
  63.    
  64.   
  65.   
  66.    
  67.    


  68.    
  69.    

  70.    


  71.     <script><br> </script>
  72.     var loadingObj = new loading(document.getElementById('canvas'),{radius:8,circleLineWidth:3});
  73.     loadingObj.show();
  74.    
  75.   
复制代码


        演示地址:http://f200-8.bbs.hexun.com/e/111219/loading.htm

        第二个较为简单,在一个圆环上有一个相同圆心相同半径的圆弧在不停的转动。画图的步骤是首先画一个圆环,然后画一个不同颜色相同圆心半径的圆弧,在每次刷新画布时改变圆弧的起始角度。

        这里是案例的演示代码:




  1.   
  2.   loading
  3.   <script><br> </script>
  4.    /*
  5.     html5 loading 鎺т欢
  6.     浣滆€咃細鐜夊紑 鍗氬
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML5 Webサイトにオーディオを追加する方法は?HTML5 Webサイトにオーディオを追加する方法は?Mar 10, 2025 pm 03:01 PM

この記事では、&lt; audio&gt;を使用してHTML5にオーディオを埋め込む方法について説明します。フォーマット選択のベストプラクティス(MP3、OGG Vorbis)、ファイルの最適化、および再生のためのJavaScriptコントロールを含む要素。 複数のオーディオfを使用して強調しています

HTML5ページの可視性APIを使用して、ページが表示されたときに検出するにはどうすればよいですか?HTML5ページの可視性APIを使用して、ページが表示されたときに検出するにはどうすればよいですか?Mar 13, 2025 pm 07:51 PM

この記事では、HTML5ページの可視性APIを使用して、ページの可視性を検出し、ユーザーエクスペリエンスを向上させ、リソースの使用量を最適化します。重要な側面には、メディアの一時停止、CPU負荷の削減、視認性の変化に基づいて分析の管理が含まれます。

HTML5とJavaScriptでインタラクティブなゲームを作成する方法は?HTML5とJavaScriptでインタラクティブなゲームを作成する方法は?Mar 10, 2025 pm 06:34 PM

この記事では、JavaScriptを使用してインタラクティブなHTML5ゲームの作成を詳述しています。 ゲームデザイン、HTML構造、CSSスタイリング、JavaScriptロジック(イベント処理とアニメーションを含む)、およびオーディオ統合をカバーしています。 必須JavaScriptライブラリ(Phaser、PI

ViewPortメタタグを使用して、モバイルデバイスのページスケーリングを制御するにはどうすればよいですか?ViewPortメタタグを使用して、モバイルデバイスのページスケーリングを制御するにはどうすればよいですか?Mar 13, 2025 pm 08:00 PM

この記事では、ビューポートメタタグを使用してモバイルデバイスのページスケーリングを制御し、最適な応答性とパフォーマンスのために幅や初期スケールなどの設定に焦点を当てています。

Geolocation APIでユーザーの場所のプライバシーと許可を処理するにはどうすればよいですか?Geolocation APIでユーザーの場所のプライバシーと許可を処理するにはどうすればよいですか?Mar 18, 2025 pm 02:16 PM

この記事では、Geolocation APIを使用してユーザーの場所のプライバシーと許可を管理し、アクセス許可を要求するためのベストプラクティスを強調し、データセキュリティを確保し、プライバシー法を遵守することについて説明します。

ユーザー入力にHTML5フォームを使用する方法は?ユーザー入力にHTML5フォームを使用する方法は?Mar 10, 2025 pm 02:59 PM

この記事では、HTML5フォームを作成および検証する方法について説明します。 &lt; form&gt;の詳細要素、入力タイプ(テキスト、電子メール、番号など)、および属性(必須、パターン、MIN、最大)。 HTML5の利点は、古い方法よりも形成されます

HTML5通知APIを使用してデスクトップ通知を表示するにはどうすればよいですか?HTML5通知APIを使用してデスクトップ通知を表示するにはどうすればよいですか?Mar 13, 2025 pm 07:57 PM

この記事では、HTML5通知APIを使用してデスクトップ通知を表示する方法について説明し、許可要件、カスタマイズ、およびブラウザーサポートに焦点を当てています。

インタラクティブなユーザーインターフェイスにHTML5ドラッグアンドドロップAPIを使用するにはどうすればよいですか?インタラクティブなユーザーインターフェイスにHTML5ドラッグアンドドロップAPIを使用するにはどうすればよいですか?Mar 18, 2025 pm 02:17 PM

この記事では、HTML5ドラッグアンドドロップAPIを使用してインタラクティブなユーザーインターフェイスを作成し、要素をドラッグ可能にし、キーイベントを処理し、カスタムフィードバックを使用してユーザーエクスペリエンスを強化する手順を作成する方法について説明します。また、aへの一般的な落とし穴についても説明します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。