そのため、フラッシュ ウィジェットを HTML/CSS/JS に変換していますが、画像の中心方向のズーム効果をエミュレートする際に問題が発生しています。
したがって、現在、HTML には次のような構造があります。
<div id="outer">
<img />
</div>
次のような CSS を使用します。
#outer{
width: 690px;
height: 440px;
position: relative;
}
#outer img{
width: 690px;
height: 440px;
position: absolute;
top: 0px;
left: 0px;
}
次に、jQuery で、ズーム効果を作成するためにこれを行っています。
$image = $("#outer img");
scale = 1.16;
var w = parseInt($image.data("width")); //Set earlier to 690px
var h = parseInt($image.data("height")); //Set earlier to 440px
$image
.animate({
width: w*scale,
height: h*scale,
left: -(((w*scale) - w)/2),
top: -(((h*scale) - h)/2)
}, 5000, "linear");
私が見つけたこの特定の画像では少し見にくいですが、クライアントから提供された画像では (何らかの理由で) より簡単に確認できます。私が見ているのは、左/上/幅/高さの小数値が常に中央に配置されるのに十分なほど整列していないためであると思われるギザギザ/揺れ/ジッターの動きです。
これを行うためのより良い方法はありますか、それともより良い結果を生み出すイージング関数はありますか?
何かクリアできることがあれば、教えてください。
ありがとう!
編集:左/上が1減少するたびに幅/高さを2ずつ増加させて常に中央に保つイージング関数を書くことができるかどうか考え始めましたが、どうすればよいかわかりませんjQueryでそれを行う。step
関数の引数をいじってみましたanimate
が、左/上のプロパティを整数値(整数)だけで強制的に増減させる方法がわかりません...