私は自分のサイトに既にあるいくつかの機能を実装する jQuery プラグインを構築しようとしています (ただし、簡単に再利用できる方法で): ブラウザーの幅に基づいて画像の "src" 属性を変更します。
問題は、新しい画像をロードするときに、img 要素が一瞬高さと幅が 0 に折りたたまれてから、新しい高さにジャンプすることです。画像をプリロードするだけでも十分ではありません (プリダウンロードしてもロードに時間がかかるのは、サイズが大きいためだと思います)。
私はこれを行うことにしました:
- 現在の src を CSS background-image 属性として設定します。
- 画像のサイズを、現在背景になっているものと一致させます。
- 次に、新しい src を設定します。
- 新しい src がロードされたら、強制されたサイズを元に戻して、新しい src (またはプログラマーが以前に使用したその他の規則やプロパティ) で再度定義できるようにします。
ユーザー (ユーザーとは、ライブラリを使用するプログラマーを意味します) の CSS ルールと HTML 属性を台無しにしたくありません。
問題は、サイズがさまざまな方法で定義できることです。たとえば、次のようになります。
- 使用して
<img width="xx" height="yy">
- CSS の使用:
img { width: xx, height: yy }
- ロードされたファイルに独自の寸法を課させる
したがって、私が探している動作は次のとおりです。
- プログラマーは、必要に応じて img の寸法を定義します
- 私のプラグインは、src の変更中にこれらの寸法を一時的に強制固定します
- それらを解凍すると、寸法はプログラマーの元のルールによって再び決定されます
問題は、以前のルールを復元する方法で、強制された寸法の設定を解除するにはどうすればよいですか?それを支配しているのは画像ファイルだけであってもです。