ホームページ ウェブフロントエンド jsチュートリアル Mootools 1.2 チュートリアル Fx.Morph、Fx オプション、および Fx イベント_Mootools

Mootools 1.2 チュートリアル Fx.Morph、Fx オプション、および Fx イベント_Mootools

May 16, 2016 pm 06:46 PM

Fx.Morph (基本的に複数のスタイルシート プロパティを同時にグラデーションできるようにする) の使用方法を学び、次に Fx.Tween と Fx.Morph に適用される Fx オプションのいくつかを説明し、最後に「onComplete」や「​​onStart」などの Fx イベントを使用する方法を見ていきます。これらのオプションとイベントを通じて、シェイプ アニメーションをより適切に制御できるようになります。
Fx.Morph
新しい Fx.Morph を作成する
新しいモーフの初期化は、複数のスタイル属性を指定することを除いて、新しいグラデーションの作成と似ています。
参照コード:

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

// 最初に要素を変数に割り当てます
var morphElement = $('morph_element');
// ここで、新しいモーフを作成します
var morphObject = new Fx.Morph(morphElement); >/ / これで、Fx.Tween と同じようにスタイル属性を設定できます
// ただし、ここで複数のスタイル属性を設定できます
morphObject.set({
'width': 100,
'height ': 100,
'background-color': '#eeeeee'
})
// グラデーションのように変形を開始することもできます
// ただし、ここでは複数の属性値を配置する必要があります同時に
morphObject.start({
'width': 300,
'height': 300,
'background-color': '#d3715c'
}) ;

変換の作成、設定、開始を含めて、これですべてです。
これをより合理的にするには、変数を作成し、関数を分離し、これを制御するいくつかのイベントを作成する必要があります:
リファレンス コード:

コードをコピー コードは次のとおりです:
var morphSet = function(){
// ここで Fx.Tween 属性のようなスタイルを設定できます
// ただし、ここでは複数のスタイル属性を同時に設定できます
this.set({
'width': 100,
'height': 100,
'background-color ': ' #eeeeee'
});
}
var morphStart = function(){
// グラデーションのようなモーフを開始することもできます
// しかし、現在は複数のスタイル属性を使用できます。同時に設定します
this.start({
'width': 300,
'height': 300,
'background-color': '#d3715c'
} );
}
var morphReset = function(){
// 初期値に設定
this.set({
'width': 0,
'height' : 0,
'background-color': '#ffffff'
});
}
window.addEvent('domready', function() {
// まず、要素を割り当てます。変数に
var morphElement = $('morph_element');
// 次に、モーフを作成します。
var morphObject = new Fx.Morph(morphElement)
// ここで、 click イベントをボタン
// にバインドし、morphObject をこの関数
// にバインドして、上記の関数
$('morph_set').addEvent('click ', morphSet で "this" を使用できるようにします) .bind(morphObject));
$('morph_start').addEvent('click', morphStart.bind(morphObject));
$('morph_reset').addEvent('click', morphReset.bind (morphObject));
});

参照コード:

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





SetStartreset
FX オプション )
以下のオプションは両方とも Fx.Tween と Fx.Morph で受け入れられます。どちらも実装が非常に簡単で、エフェクトを細かく制御できます。これらのオプションを使用するには、次の構文を使用します。
参照コード:


// グラデーションまたはモーフを作成します
// 次に、中括弧の間にオプションを設定します { }
var morphObject = new Fx.Morph(morphElement, {
// まず、オプションの名前
// 後にコロン (:)
// が続き、オプションを定義します
duration: 'long',
transition: 'sine:in'
} ) ;


fps (フレーム/秒)
このオプションは、このアニメーションの 1 秒あたりのフレーム数を決定します。デフォルト値は 50 で、数値および数値を含む変数を受け入れます。
参照コード:


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

// グラデーションまたはモーフを作成します
// 次に、中かっこ { } の間にオプションを設定します
var morphObject = new Fx.Morph(morphElement, {
fps: 60
});
// または次のように
var FramePerSecond = 60;
var tweenObject = new Fx.Tween(tweenElement, {
fps: FramePerSecond
}); >
unit (単位)
このオプションは数値の単位を設定します。たとえば、100 というのは、100 ピクセル (px)、パーセント、または em を意味しますか?
参照コード:


// Createあなたのグラデーション Or morph
// 次に、中かっこ { }
var morphObject = new Fx.Morph(morphElement, {
unit: '%'
}); の間にオプションを設定します。 🎜>
link
link オプションは、エフェクトを起動する複数の関数呼び出しを管理する方法を提供します。たとえば、マウスオーバー効果がある場合、ユーザーがマウスを動かすたびにこの効果がアクティブになるようにしますか?または、ユーザーがマウスを 2 回移動した場合、2 番目の応答を無視する必要がありますか、それともそれらを連結して最初の呼び出しが完了するのを待ってから 2 回目にエフェクトを呼び出す必要がありますか?リンクには 3 つの設定があります:
"ignore" (デフォルト) - エフェクトが完了する前に新しいエフェクトを開始する呼び出しを無視します
"cancel" - 別のエフェクトが呼び出された場合、現在のエフェクトを放棄し、ハンドルに切り替えます新しいエフェクトは
"チェーン" を呼び出します - チェーンを使用すると、エフェクトを "チェーン" のように接続し、これらの呼び出しをスタックし、完了するまでこれらのエフェクトを 1 つずつ呼び出すことができます
参照コード:




コードをコピー
コードは次のとおりです: // グラデーションまたは変換を作成します// 次に、次の間でオプションを設定します。中括弧 { }
var morphObject = new Fx.Morph(morphElement, {
link: 'chain'
});


duration (duration)
duration は許可しますこのアニメーションの長さを定義するのはあなたです。連続イベントと速度は同じではないため、オブジェクトを 1 秒間に 100 ピクセル移動させる場合、オブジェクトを 1 秒間に 1000 ピクセル移動させるよりも遅くなります。数値 (ミリ秒単位)、値が数値である変数、または 3 つのショートカットを入力できます:
"short"=250ms
"normal"=500ms (デフォルト)
"long"= 1000ms
参照コード:




コードをコピー
コードは次のとおりです: //グラデーションまたはモーフ// 次に、中かっこ { }
var morphObject = new Fx.Morph(morphElement, {
duration: 'long'
}); の間にオプションを設定します。または、このように
var morphObject = new Fx.Morph(morphElement, {
duration: 1000
});


transition (トランジション効果)
最後のオプション: トランジション。トランジションのタイプを決定できます。たとえば、移行をスムーズに行うべきか、それともゆっくりと開始して最後まで加速するべきかなどです。 MooTools のコア ライブラリで利用できるこれらのトランジション効果を見てください:
リファレンス コード:



コードをコピー
コードは次のとおりです。 var tweenObject = new Fx.Tween(tweenElement, { transition: 'quad:in' }); 注:最初のもの トランジション バーは、最初に赤い目を引く効果をトリガーし、最後にオレンジ色の目を引く効果をトリガーします。以下の Fx イベントの使用方法を参照してください。
上記の 30 のトランジション タイプは 10 のグループに分類できます:
Quad
Cubic
Quart
Quint
Expo
Circ
Sine
Back
バウンス
エラスティック
各グループには 3 つのオプションがあります:
イーズ イン
イーズ アウト
イーズ イン アウト
Fx イベント
Fx イベントにより、プロセス中にアニメーション効果を実行できます、一部のコードは異なるポイントで実行されます。これは、ユーザー フィードバックを作成するときに役立ち、また、グラデーションと変換を制御する別のレイヤーも提供します。
onStart - Fx の開始時に発生します
onCancel - Fx がキャンセルされたときに発生します トリガー
onComplete - Fx が完了するとトリガーされます
onChainComplete - Fx チェーンが完了するとトリガーされます
グラデーションまたは変形を作成するとき、1 つまたは複数のオプションを設定するのと同じように、これらのイベントの 1 つを設定できます。値を設定すると、関数が設定されます:
参照コード:




コードをコピー


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

// まず新しい Fx.Tween を変数に代入します
// 次に、勾配を付けたい要素を定義します
quadIn = new Fx.Tween(quadIn, {
/ /ここにいくつかのオプションがあります
link: 'cancel',
transition: 'quad:in',
// ここにいくつかのイベントがあります
onStart: function(passes_tween_element){
// これらのイベントすべてはグラデーション オブジェクトを渡します
// したがって、アニメーションが開始されるとき
// ここでは「ハイライト」効果を呼び出します
passes_tween_element.highlight('#C54641');
/ / このカンマが各イベントとオプションの間に常に表示されることに注意してください
// ただし、最後のイベントまたはオプションの後には表示されません
onComplete: function(passes_tween_element){
// 最後に、別のハイライト効果を適用しましょう
passes_tween_element.highlight('#C54641');
}
});


上記の変換コードを生成するには、この一連のチュートリアルでは見たことのない方法で機能します。上記のすべての変形要素は 2 つの関数を使用します。1 つはマウスが入ると徐々にフェードアウトし、もう 1 つはマウスが離れると徐々にフェードアウトします。
参考コード:

コードをコピーします コードは次のとおりです:
// これは、マウスが入ったときに呼び出す関数です
// 幅のグラデーションは 700px
var enterFunction = function() {
this.start('width', '700px');
}
// これはマウスが離れるときに呼び出す関数です
// 幅徐々に 300px に戻ります
var LeaveFunction = function() {
this.start('width', '300px');
}
window.addEvent('domready', function() {
// ここでは、いくつかの要素を変数に代入します。
varquadIn = $('quadout');
varquadInOut = $('quadinout'); ;
// 次に、上記の 3 つの変数に対応する 3 つのグラデーション要素
//
quadIn = new Fx.Tween(quadIn, {
link: 'cancel',
transition: Fx.Transitions.Quad.easeIn、
onStart: function(passes_tween_element){
passes_tween_element.highlight('#C54641');
}、
onComplete: function(passes_tween_element){
passes_tween_element .highlight ('#E67F0E');
}
});
quadOut = new Fx.Tween(quadOut, {
link: 'キャンセル',
transition: 'quad:out '
});
quadInOut = new Fx.Tween(quadInOut, {
リンク: 'キャンセル',
遷移: 'quad:in:out'
}); // 次に、マウス Enter イベントとマウス Leave イベントを追加します
// .addEvents
の使用に注意してください// .addEvent
の使用に似ています// ただし、次のように複数のイベントを追加できます。 mode
$('quadin').addEvents({
// まず、イベントを指定し、イベントを一重引用符で囲む必要があります
// その後にコロン (:) を続けます
// 最後に関数を配置します
// この例では、関数はグラデーション オブジェクトにバンド化されています
'mouseenter': enterFunction.bind(quadIn),
'mouseleave': leftFunction.bind (quadIn)
});
$('quadout').addEvents({
// ここでこの関数をどのように再利用するかに注目してください
'mouseenter': enterFunction.bind(quadOut),
' Mouseleave': LeaveFunction.bind(quadOut)
});
$('quadinout').addEvents({
// ここでも同じ関数を使用します
// ただし、毎回私たちは皆、さまざまな要素にイベントを適用します
// さまざまなグラデーションをバインドします
'mouseenter': enterFunction.bind(quadInOut),
'mouseleave': leftFunction.bind(quadInOut)
});



さらに詳しく…

Fx ライブラリのツールを使用すると、エフェクトをより詳細に制御できます。ドキュメントの

Fx セクション

と、tweenmorph遷移

開始するために必要なものが含まれた zip パッケージをダウンロードします

このページの例、MooTools 1.2 コア ライブラリ、外部 JavaScript ファイル、外部 CSS ファイル、または単純な HTML ファイルを含めます。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

' this' JavaScriptで? ' this' JavaScriptで? Mar 04, 2025 am 01:15 AM

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

ソースビューアーでjQueryの知識を向上させます ソースビューアーでjQueryの知識を向上させます Mar 05, 2025 am 12:54 AM

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

モバイル開発用のモバイルチートシート10個 モバイル開発用のモバイルチートシート10個 Mar 05, 2025 am 12:43 AM

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

See all articles