Dom要素の変形効果(ツール機能)_JavaScriptスキル
js を使用して動作とページのパフォーマンスを制御します。申し訳ありませんが、これが私たちがこれを使用して行う最も一般的なことだと思います...
jQuery がこれほど人気がある理由は、一方ではそのセレクター [selector] が十分に素晴らしいからだと思いますが、他方ではこれは、DOM 変換に多大な労力が費やされたことに起因すると考えられます。
そこで、オタクの目的に沿って、週末に二晩かけて少しまとめ、dom要素の変換を制御するコードを書きました。現在の強力なフレームワークと比較すると、確かにそうです。少々不器用ではありますが、日々の開発としてはかなり実用的なツール機能だと思います。 (これも本来の目的です^_^)。
早速本題に入ります。まず完全なソース コードを投稿します: (共有と学習の原則に従って、ソース コードは自由に変更できます)
//////////////* = Honru.anim.js =*////////////
// @author: hongru.chen //
// @date: 2010-10-17 //
///// /////////////// //////////////////////////
var Honru = {
get : function (id) {return document.getElementById(id)} ,
tween : {
linear : function (f, t, d) { return t * d f },
ease : function; (f, t, d) { return -t * .5 * ( Math.cos(Math.PI * d) - 1) f; }
},
tweens: [],
tweensCnt: 0,
anim : function (obj, params) {
var self = this,
objList = [],
objReturn = [];
var animimg = function () {
var i = -1, o;
while( o = self.tweens[ i] ) {
var cTime = (new Date()).getTime() - o.start; cTime
var m = o.val[k] = Math.ceil(o. ease(m.from, m.diff, cTime/o.duration) ) (o.cssMode ? 'px' : 0);
}
} else {
cTime = o.duration; >for (var k in o.val) {
var m = o.val[k];
o.obj[k] = Math.ceil(o.ease(m.from, m.diff, cTime/o.duration)) (o.cssMode ? 'px' : 0);
}
self.tweens.splice(i, 1);
self.tweensCnt--; (o.onFinish) o.onFinish (o.params);
self.stop();
if (!o.cssMode) o.obj.onTween(); 🎜>};
if (typeof obj == "string" || !obj.length) objList.push(obj); else objList = obj;
for (var il = 0, l = objList.length ; il < il ) {
var obj = this .get(objList[il]) ||
o.val = {};
o.cssMode = true;
o.obj = obj.style;
for (params の var p = params[k]; 🎜>if (k === "cssMode") {
if (p === false) {
o.cssMode = false;
o.obj =
}
} else if (k === "onTween") {
o.obj.onTween = p;
} else if (k === "from") {
for (var i in p) o.obj[i] = o.cssMode ? (Math.ceil( p[i]) 'px') : p[i]; else if (k === "to") {
for (var i in p) {
var from = o.cssMode ? (parseInt(o.obj[i]) || 0) : (o.obj[i] || 0); val[i] = {
from: from,
diff: p[i] - from
}
} else o[k] = params[k]; >}
if (!o.ease) o.ease = this.tween.ease;
if (!o.cssMode && params['from']) o.obj.onTween(); o.duration = params.duration ? params.duration : 1000;
o.start = (new Date()).getTime();
this.tweens.push(o); ;
if (!this.running) this.running = window .setInterval(animimg, 10);
}
return objReturn.length === 1 ? o : objReturn;
},
stop : function ( ) {
if (!this.tweensCnt) {
window.clearInterval(this.running);
}
},
kill : function ( obj) {
if (obj) {
for (var i = 0; i < this.tweensCnt; i ) {
if (this.tweens[i] === obj || this.tweens[i].o === obj || this.tweens[i].o === this.get(obj)) {
this.tweensCnt--;
this.tweens.splice(i , 1);
}
}
},
リセット: function () {
this.tweensCnt = 0;
this.tweens.length ) {
this.tweens.stop();
}
}
メソッドを呼び出すという観点から見ると、私の実装メソッドは実際には YUI に似ています。最も単純な例は次のとおりです。
コードをコピー
コードは次のとおりです:
Hongru.anim(id, {
from: {
top: 0、
左: 100
}、
から: {
左: 500、
}
});
このコードを呼び出すと次のような効果が得られます:

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











1. ネイティブ js は DOM ノードを取得します。 document.querySelector (セレクター) document.getElementById (id セレクター) document.getElementsByClassName (クラス セレクター).... 2. vue2 で現在のコンポーネントのインスタンス オブジェクトを取得します。コンポーネント インスタンスには、対応する DOM 要素またはコンポーネントへの参照を保存する $refs オブジェクトが含まれています。したがって、デフォルトでは、コンポーネントの $refs は空のオブジェクトを指します。まず ref="name" をコンポーネントに追加してから、this.$refs を渡します。

Web 開発において、DOM (DocumentObjectModel) は非常に重要な概念です。これにより、開発者は要素の追加、削除、変更など、Web ページの HTML または XML ドキュメントを簡単に変更および操作できるようになります。 PHP に組み込まれている DOM 操作ライブラリも開発者向けに豊富な機能を提供していますので、この記事では、皆様のお役に立てればと思い、PHP での DOM 操作ガイドを紹介します。 DOM の基本概念 DOM は、クロスプラットフォームで言語に依存しない API です。

DOM はドキュメント オブジェクト モデルであり、HTML プログラミング用のインターフェイスであり、ページ内の要素は DOM を通じて操作されます。 DOM は HTML ドキュメントのメモリ内オブジェクト表現であり、JavaScript を使用して Web ページと対話する方法を提供します。 DOM は、ドキュメント ノードをルートとするノードの階層 (またはツリー) です。

Vue3ref バインディング DOM またはコンポーネントの失敗理由分析シナリオの説明 Vue3 では、コンポーネントまたは DOM 要素をバインドするために ref を使用することがよくありますが、関連するコンポーネントをバインドするために ref が明確に使用されていることがよくありますが、ref バインディングが失敗することがよくあります。 ref バインディングが失敗する状況の例 ref バインディングが失敗するほとんどのケースは、ref がコンポーネントにバインドされているときにコンポーネントがまだレンダリングされていないため、バインディングが失敗することです。または、コンポーネントが最初にレンダリングされず、ref がバインドされていない場合、コンポーネントのレンダリングが開始されると、ref もバインドされ始めますが、ref とコンポーネントの間のバインディングが完了していません。このとき、問題が発生します。コンポーネント関連のメソッドを使用する場合。 ref にバインドされたコンポーネントが v-if を使用するか、その親コンポーネントが v-if を使用してページに

DOM オブジェクトは「ドキュメント」、「要素」、「ノード」、「イベント」、「ウィンドウ」の 5 つ、2.「ウィンドウ」、「ナビゲーター」、「場所」、「履歴」、「画面」、その他 5 つです。 BOM オブジェクト。

BOM と DOM は、役割と機能、JavaScript との関係、相互依存性、さまざまなブラウザーの互換性、セキュリティ上の考慮事項の点で異なります。詳細な紹介: 1. 役割と機能: BOM の主な機能はブラウザ ウィンドウを操作することであり、ブラウザ ウィンドウへの直接アクセスと制御を提供しますが、DOM の主な機能は Web ドキュメントをオブジェクト ツリーに変換し、開発者は、このオブジェクト ツリーを使用して Web ページの要素やコンテンツを取得および変更します。 2. JavaScript などとの関係

dom内置オブジェクトの内容:1、document;2、window;3、navigator;4、location;5、history;6、screen;7、document.documentElement;8、document.body;9、document.head;10、document .title;11、document.cookie。

この記事は、JS DOM の共通イベントを誰にとっても一定の参考価値があるものとしてまとめたものですので、興味のある方は参考にしてみてください。
