検索
ホームページウェブフロントエンドH5 チュートリアルHTML5 11 での SVG 2D の概要 - ユーザーの対話性 (アニメーション) の概要と application_html5 チュートリアルのスキル

対話性
SVG は、次のような優れたユーザー対話性を備えています。
1. SVG は、ほとんどの DOM2 イベントに応答できます。
2. SVG はカーソルを介したユーザーのマウスの動きをうまくキャプチャできます。
3. ユーザーは、svg 要素のzoomAndPan 属性の値を設定することで、ズームやその他の効果を簡単に実現できます。
4. ユーザーはアニメーションとイベントを簡単に組み合わせて、複雑な効果を完成させることができます。
イベントを SVG 要素に添付すると、スクリプト言語を使用していくつかの対話型タスクを簡単に完了できます。 SVG は、onfocusin、onfocusou、onclick、onmousedown、onmouseup、onmousemove、onmouseout、onload、onresize、onscroll、その他のイベントなど、ほとんどの DOM2 イベントをサポートします。これらに加えて、SVG は、onroom、onbegin、onend、onrepeat などの独自のアニメーション関連イベントも提供します。
この事件については誰もがよく知っているので、詳しくは述べません。

アニメーション メソッド
SVG はテキストを使用してグラフィックを定義します。このドキュメント構造はアニメーションの作成に非常に適しています。グラフィックスの位置、サイズ、色を変更するには、対応するプロパティを調整するだけです。実際、SVG にはさまざまなイベント処理用に特別に設計されたプロパティがあり、その多くはアニメーション用に特別に調整されています。 SVG では、アニメーションを実装する方法がいくつかあります。
1. SVG アニメーション要素を使用します。これについては以下で強調します。
2. スクリプトを使用します。 DOM 操作を使用してアニメーションを開始および制御することは、すでに成熟したテクノロジーです。以下に小さな例を示します。
3. SMIL (同期マルチメディア統合言語)。ご興味がございましたら、http://www.w3.org/TR/2008/REC-SMIL3-20081201/ をご覧ください。
次の例には、SVG の最も基本的なアニメーションがいくつか含まれています:

コードをコピー
コードは次のとおりです。

xmlns="http://www.w3 .org /2000/svg" version="1.1">
基本的なアニメーション要素
fill="none" ストローク="blue" ストローク幅="2" />
- Set は可視性をアニメーション化するために以下で使用され、その後 animateMotion、
animate、animateTransform は他のタイプのアニメーションを実行するために使用されます -->
font-family="Verdana" font-size="35.27" Visibility="hidden">
生きています!
begin="3s" dur="6s" fill="freeze" />
begin="3s" dur= "6s" fill="freeze" />
from="rgb(0,0,255)" to="rgb(128,0,0) )"
begin="3s" dur="6s" fill="freeze" />
type="rotate" from= -30" to="0"
begin="3s" dur="6s" fill="freeze" />
type= "scale" from="1" to="3" additive="sum"
begin="3s" dur="6s" fill="freeze" />




このコードを HTML ドキュメントの本文に挿入して実行し、アニメーションの効果を確認します。

アニメーション化された要素のパブリック属性
カテゴリ 1: ターゲット要素と属性の指定
xlink:href
これは、次のことを指します。アニメーションが実行される要素。この要素は、現在の SVG ドキュメント フラグメントで定義する必要があります。この属性が指定されていない場合、アニメーションはその親要素に適用されます。
attributeName = ""
この属性は、アニメーションが適用される属性を指定します。属性に名前空間がある場合 (SVG は本質的に XML ドキュメントであることを忘れないでください)、この名前空間も追加する必要があります。たとえば、次の例では、xlink に別のエイリアスが与えられています。ここで、animate は属性を指定するときに名前空間を使用します。

Copy code
コードは次のとおりです。

xmlns:xlink= "http://www.w3.org/1999/xlink">
アニメーションの名前空間の解決のデモ








attributeType = "CSS | XML | auto (デフォルト値)"
この属性は、属性値の名前空間を指定します。このいくつかの値の意味は次のとおりです。
CSS:attributeName で指定された属性が CSS 属性であることを表します。
XML:attributeName で指定された属性は、XML デフォルト名前空間の属性です (svg ドキュメントは本質的に xml ドキュメントであることに注意してください)。
auto: CSS 属性のattributeNameで指定された属性を最初に検索することを意味します。見つからない場合は、デフォルトの XML 名前空間で属性が検索されます。
カテゴリ 2: アニメーション時間を制御する属性
次の属性はすべてアニメーション時間属性であり、アニメーションの開始方法と終了方法、およびアニメーションを繰り返すかどうかなど、アニメーション実行のタイムラインを制御します。アニメーションの終了状態を保存するかどうかなど。
begin = "begin-value-list"
この属性はアニメーションの開始時間を定義します。セミコロンで区切られた一連の時間値を指定できます。アニメーションの開始をトリガーする他の値を使用することもできます。イベントやショートカットキーなど。
dur = Clock-value | "media" | "infinity"
はアニメーションの継続時間を定義します。時計形式で表示される値を設定できます。次の 2 つの値に設定することもできます。
media: アニメーション時間が内部マルチメディア要素の継続時間であることを指定します。
infinity: アニメーション時間を無限に指定します。
クロック形式は、次の正当な値形式を指します:

コードをコピー
コードは次のとおりです:

:30:03= 2 時間 30 分 3 秒
:00:10.25 = 50 時間 10 秒 250 ミリ秒
:33 = 2 分 33 秒
:10.5 = 10.5 秒 = 10 秒と 500 ミリ秒
.2h= 3.2 時間 = 3 時間 12 分
分 = 45 分
s = 30 秒
ms = 5 ミリ秒
.467= 12 秒と 467 ミリ秒
.5s = 500 ミリ秒
:00.005 = 5 ミリ秒

end = "end-value-list"
はアニメーションの終了時間を定義します。セミコロンで区切られた一連の値を指定できます。
min = クロック値 | "media"
max = クロック値 | "media"
アニメーション期間の最大値と最小値を設定します。
restart = "always" | "whenNotActive" | "never"
アニメーションをいつでも再開できるかどうかを設定します。 always は、アニメーションがいつでも開始できることを意味します。 whenNotActive は、前の再生が終了した場合など、再生していないときにのみ再開できることを意味します。 Never はアニメーションを再開できないことを意味します。
repeatCount = 数値 | "infinity"
アニメーションの繰り返し回数を設定します。不定は無限の繰り返しを表します。
repeatDur = Clock-value | "infinity"
アニメーションの繰り返し時間を設定します。不定は無限の繰り返しを表します。
fill = "freeze" | "remove(デフォルト値)"
アニメーション終了後の要素の状態を設定します。フリーズとは、アニメーションが終了した後、要素がアニメーションの最終状態にとどまることを意味します。削除は、アニメーションが終了した後、要素がアニメーション前の状態に戻ることを意味します。これがデフォルト値です。
カテゴリ 3: アニメーション値を定義する属性
これらの属性は、アニメーション化される属性の値を定義します。実際、キーフレームと補間のためのいくつかのアルゴリズムが定義されています。
calcMode = "離散 | 線形 (デフォルト値) | ペース | スプライン"
は、アニメーション補間方法を定義します。離散: 離散、補間なし、線形: 直線補間、ペース補間: サンプル ストリップ補間。デフォルトは線形(線形補間)ですが、アトリビュートが線形補間をサポートしていない場合は、離散補間が使用されます。
values= ""
は、アニメーション キーフレームの値のセミコロン区切りのリストを定義します。サポートベクター値。
keyTimes = ""
アニメーション キーフレーム時間のセミコロン区切りのリストを定義します。これは値と 1 対 1 に対応します。この値は補間アルゴリズムの影響を受けます。線形補間およびスプライン補間の場合、keyTimes の最初の値は 0、最後の値は 1 でなければなりません。離散非補間メソッドの場合、keyTimes の最初の値は 0 でなければなりません。ステップ補間法の場合、keyTimes が必要ないことは明らかです。また、アニメーションの継続時間が無限に設定されている場合、keyTimes は無視されます。
keySplines = ""
この属性は、スプライン補間 (ベッセル補間) 中の制御点を定義します。これは、補間モードがスプラインとして選択されている場合にのみ機能します。このリストの値の範囲は 0 から 1 です。
from = ""
to = ""
アニメーション属性の開始値、終了値、ステップ値を定義します。ここで注意してください: 値がすでに指定されている場合、from/to/by の値は無視されます。

カテゴリ 4: アニメーションが増分であるかどうかを制御するプロパティ 場合によっては、追加プロパティを使用して、関連する値が絶対値ではなく増分値に設定されていると非常に便利です。この目的を果たすことができます。
additive = "replace(default value) | sum"
この属性は、アニメーションが増分であるかどうかを制御します。 sum は、関連する属性値または他の優先度の低いアニメーションの方がアニメーションが大きくなることを意味します。 replace はデフォルト値です。これは、アニメーションが関連する属性値または他の優先度の低いアニメーションを上書きすることを意味します。小さな例を見てみましょう:


コードをコピーしますコードは次のとおりです:

additive="sum"/> ;
< ;/rect>

この例では、長方形の幅を増やすアニメーション効果を示します。
繰り返しのアニメーション結果を重ね合わせると、accumulate 属性を使用して実現できる場合も非常に便利です。
accumulate = "none (デフォルト値) | sum"
この属性は、アニメーション効果が累積的であるかどうかを制御します。デフォルト値は None です。これは、繰り返されるアニメーションが蓄積されないことを意味します。 sum は、繰り返されるアニメーション効果が累積されることを意味します。単一実行アニメーションの場合、このプロパティは意味を持ちません。小さな例を見てみましょう:


コードをコピーしますコードは次のとおりです:

additive="sum" 累積="sum"repeatCount= "5"/>

この例は、反復ごとに長方形の長さが増加することを示しています。
アニメーション要素の概要
SVG は次のアニメーション要素を提供します。
1. アニメーション要素
これは最も基本的なアニメーション要素であり、直接使用できます。関連するアニメーション要素に使用されるプロパティは、さまざまな時点での値を提供します。
2. set 要素
これは animate 要素の略称で、すべての属性タイプをサポートします。これは、非数値属性 (可視性など) をアニメーション化する場合に特に便利です。 set 要素は非増分であり、関連する属性はそれに影響を与えません。 to で指定されるアニメーション終了値の型は、属性の値の型と一致する必要があります。
3. animateMotion 要素
Lu Jin アニメーション要素。この要素のほとんどの属性は上記と同じですが、以下のいくつかの違いがあります:
calcMode = "discrete | linear | paced | spline"
この属性のデフォルト値は、このデフォルトとは異なります。要素はペースです。
path = ""
アニメーション要素が移動するパス。形式は path 要素の d 属性の値の形式と一致します。
keyPoints = ""
この属性の値はセミコロンで区切られた一連の浮動小数点値であり、各値の値の範囲は 0 ~ 1 です。これらの値は、keyTimes 属性で指定された対応する時点での移動距離を表します。ここでの具体的な距離はブラウザ自体によって決定されます。
rotate = auto | auto-reverse"
この属性は、要素が移動するときの回転角度を指定します。デフォルト値は 0 で、数値は回転角度を表します。オートリバースとは、進行方向とは逆方向に回転することを意味します。また、animateMotion要素のfrom、by、to、の値で構成されます。座標ペア。x 値と y 値はカンマまたはスペースで区切られます。たとえば、from="33,15" は開始点の x 座標が 33 であり、y 座標が 33 であることを意味します。 15.
モーションパスを指定するには、path属性を直接指定する方法と、animateMotiondeの子要素としてmpath要素を使用する方法の2つがあります。両方の方法を使用する場合、mpathの使用が優先されます。要素は、from、by、to の値よりも大きいです。🎜>小さな例を見てください:



コードをコピーします コードは次のとおりです。
1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/ 1999/xlink" >
fill="none" ストローク="青" ストローク幅=" 2" />
fill="none" ストローク="青" ストローク幅="7.06 "/>


M-25,-12.5 L25,-12.5 L 0,-87.5 z"
fill=" yellow" ストローク = "red" ストローク幅 = "7.06">


/svg>



4. animateColor 要素

カラー アニメーション要素。これは古い要素なので、基本的にすべての機能は animate で置き換えることができるため、もう使用しないでください。
5. animateTransform 要素
変形アニメーション要素。いくつかの特別な属性を見てみましょう: type = "translate |scale |rotate | skewX | skewY"
この属性は変換のタイプを指定します。translate がデフォルト値です。
from、by、to の値は、変換の対応するパラメーターです。これは、上記の変換と一致します。値はセミコロンで区切られた一連の値です。 アニメーション効果をサポートする要素と属性基本的にすべてのグラフィック要素 (path、rect、ellipse、text、image...)、コンテナ要素 (svg、g、defs、use、switch、clipPath、mask. . .) すべてアニメーションをサポートしています。基本的にほとんどのプロパティはアニメーション効果をサポートしています。詳細な手順については、公式ドキュメントを参照してください。

DOM を使用してアニメーションを実装します

SVG アニメーションはスクリプトを使用して完成させることもできます。DOM の詳細は後で紹介します。



コードをコピーします

コードは次のとおりです:


br />"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> ;
xmlns="http://www.w3.org/2000/svg"
onload=" StartAnimation(evt)" version="1.1">

fill="none" ストローク="ブルー" ストローク幅="2"/>

SVG



参考文献:
インデックスインデックス:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85) ).aspx
开発行中心:https://developer.mozilla.org/en/SVG
热门 参考:http://www.chinasvg.com/
官方文档:http://www.w3.org/TR/SVG11/

SVGアニメーション画技术:http://msdn.microsoft.com/zh-cn/library/gg589525(v=vs.85).aspx

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML5の遺産:現在のH5の理解HTML5の遺産:現在のH5の理解Apr 10, 2025 am 09:28 AM

html5hassificlytransformdedwebdeveverment byintroducingsingingelements、endincemultimediasupport、およびrequrovingperformance.1)itmadewebsitesmoreaccessibleandseo-frendlywithsemantelementslike、and.2)

H5コード:アクセシビリティとセマンティックHTMLH5コード:アクセシビリティとセマンティックHTMLApr 09, 2025 am 12:05 AM

H5は、セマンティック要素とARIA属性を介して、WebページのアクセシビリティとSEO効果を改善します。 1.使用などを使用して、コンテンツ構造を整理し、SEOを改善します。 2。ARIA-LabelなどのARIA属性はアクセシビリティを強化し、支援技術ユーザーはWebページをスムーズに使用できます。

H5はHTML5と同じですか?H5はHTML5と同じですか?Apr 08, 2025 am 12:16 AM

「H5」と「HTML5」はほとんどの場合同じですが、特定の特定のシナリオでは異なる意味を持つ可能性があります。 1。「HTML5」は、新しいタグとAPIを含むW3C定義標準です。 2。 "H5"は通常、HTML5の略語ですが、モバイル開発では、HTML5に基づくフレームワークを参照する場合があります。これらの違いを理解することは、プロジェクトでこれらの用語を正確に使用するのに役立ちます。

H5の機能は何ですか?H5の機能は何ですか?Apr 07, 2025 am 12:10 AM

H5、またはHTML5は、HTMLの5番目のバージョンです。開発者により強力なツールセットを提供し、複雑なWebアプリケーションを簡単に作成できるようにします。 H5のコア関数には、次のものが含まれます。1)Webページにグラフィックとアニメーションを描画できる要素。 2)Webページ構造をSEOの最適化を明確かつ助長させるなどのセマンティックタグなど。 3)Geolocationapiなどの新しいAPIは、ロケーションベースのサービスをサポートします。 4)互換性テストとポリフィルライブラリを通じて、クロスブラウザーの互換性を確保する必要があります。

H5リンクの実行方法H5リンクの実行方法Apr 06, 2025 pm 12:39 PM

H5リンクを作成する方法は?リンクターゲットを決定します。H5ページまたはアプリケーションのURLを取得します。 HTMLアンカーの作成:&lt; a&gt;を使用しますアンカーを作成し、リンクターゲットURLを指定するタグ。リンクプロパティの設定(オプション):必要に応じて、ターゲット、タイトル、およびオンクリックプロパティを設定します。 Webページに追加:リンクを表示するWebページにHTMLアンカーコードを追加します。

H5互換性の問題を解決する方法H5互換性の問題を解決する方法Apr 06, 2025 pm 12:36 PM

H5互換性の問題のソリューションには、次のものが含まれます。Webページが画面サイズに応じてレイアウトを調整できるレスポンシブデザインを使用します。クロスブラウザーテストツールを使用して、リリース前に互換性をテストします。 PolyFillを使用して、古いブラウザの新しいAPIのサポートを提供します。 Web標準に従って、効果的なコードとベストプラクティスを使用します。 CSSプリプロセッサを使用して、CSSコードを簡素化し、可読性を向上させます。画像を最適化し、Webページのサイズを削減し、ロードをスピードアップします。 HTTPSがWebサイトのセキュリティを確保できるようにします。

H5でリンクを生成する方法H5でリンクを生成する方法Apr 06, 2025 pm 12:33 PM

H5ページは、リンクを手動で作成するか、短いリンクサービスを使用するという2つの方法でリンクを生成できます。手動で作成することにより、H5ページのURLをコピーするだけです。短いリンクサービスを通じて、URLをサービスに貼り付けてから短縮URLを取得する必要があります。

H5共有ページの実行方法H5共有ページの実行方法Apr 06, 2025 pm 12:30 PM

魅力的なH5共有ページを作成して、エンゲージメントを増やし、リードを生成し、ブランド認知度を高めることが重要です。手順には、ターゲットオーディエンスの識別、魅力的なビジュアルの設計、説得力のあるコンテンツの作成、インタラクティブな要素の追加、ソーシャルメディアの共有の最適化、テストと改善が含まれます。

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ヘンタイを無料で生成します。

ホットツール

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

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

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい