検索
ホームページウェブフロントエンドhtmlチュートリアルcss3アニメーションとjqueryを使用する場合の注意点animation_html/css_WEB-ITnose

少し前にデモを書いていたときに、要素に css3 または jquery アニメーションを追加するときに、アニメーションが終了する前に要素の css 属性を正確に取得できないという問題が発生しました。

1. CSS3 アニメーションのディスカッション

まずコードを見てください:

html:

<div id="hehe"></div><button class="change">change</button><button class="get">get</button>

css:

#hehe {    width: 100px;    height: 100px;    padding: 10px;    background: red;    -webkit-transition: all 10s ease-out;    -moz-transition: all 10s ease-out;    -o-transition: all 10s ease-out;    transition: all 10s ease-out;}

js:

$(document).ready(function() {    $('.change').click(function() {        $('#hehe').width(400);    });    $('.get').click(function() {        console.log($('#hehe').width());    });});

コードは非常に簡単です。 hehe div に赤い背景色を追加し、css3 でアニメーション スムージング効果の css3 trasition を使用しました (css3 trasition の使用方法については、この記事を参照してください: http://www.w3cplus.com/content/css3-transition 、非常に詳細に書かれています)。つまり、幅、高さ、背景、フォントなどの CSS プロパティを変更すると、イーズアウト (速度低下) スムーズ トランジション効果が 10 秒間持続します。たとえば、変更ボタンをクリックすると、hehe の幅が 10 秒かかり、徐々に 400px まで増加し、アニメーション効果が生成されます。

ここで質問が来ます: アニメーションの進行中に取得ボタンをクリックします。コンソールによって出力される「へへ」の幅はどれくらいですか?

変更をクリックすると、要素を検査するときに「

」が表示されたので、最初は 400 だと思いました。答えは「いいえ」です。得られるのは、アニメーション中のクリックの瞬間の「ふふふ」の幅です。

コンソール コードを変更します。

console.log($('#hehe').css('width');

これで、アニメーション プロセス全体で、[get] をクリックすると 400 ピクセルが取得されることがわかります。これは、jquery の width() が要素の幅をリアルタイムで取得するのに対し、css('width') は単位も持っているため、単に要素の CSS 値を取得することを示しています。

2.Jqueryアニメーションの議論

jqueryアニメーションは理解しやすいです。 css3 トランジションの css コードを削除し、jquery animate に置き換えます。

$(document).ready(function() {    console.log($('#hehe').width());    $('.change').click(function() {        $('#hehe').animate({width: "400px"}, 10000);    });    $('.get').click(function() {        console.log($('#hehe').width());    });});

jquery アニメーションは実際に要素にスタイルを動的に追加するため、hehe の幅は、width() を使用して取得するか css('width') を使用して取得するかに応じて動的に変化します。ただし、width を使用して取得される幅には単位 px がなく、すべて整数ですが、css('width') を使用して取得される幅には単位があり、小数点以下の桁数が大きくなります。長さ。

まとめ:

ここまで議論しましたが、重要なのは、アニメーションを使用するときに、まだ変化している CSS 属性、特に幅と高さをすぐに取得すると、問題が発生しやすいということです。これらの要素のプロパティを取得するには、アニメーションが終了するまで待つ必要があります。または、アニメーション化する CSS プロパティを指定することもできます。たとえば、アニメーションの幅と高さを取得したいが、実際に必要なアニメーション効果は背景色の変更だけである場合、css3 トランジションを記述するときに次のように記述できます

-webkit-transition: background .7s ease-out;-moz-transition: background .7s ease-out;-o-transition: background .7s ease-out;transition: background .7s ease-out;

ちなみに、アニメーション効果は背景色に反映されるだけで、幅や高さは動的に変化しません。

同様に、CSS3 アニメーションの他の 2 つの効果、トランスフォーム (http://www.w3cplus.com/content/css3-transform) とアニメーション (http://www.w3cplus.com/content/css3-animation ) については、また、アニメーションを使用している場合でも、transition と同じであることがわかりました。css('width') を使用して取得される幅も変化します。興味のある学生はぜひ試してみてください。

そのため、css3 アニメーションを使用する場合は、アニメーションの影響にもっと注意を払う必要があります。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SecLists

SecLists

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

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

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

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

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境