jQuery.animateを使用してAdobe AIRでのアニメーション
-
13-09-2019 - |
質問
私のAIRアプリケーションでは、私はjQueryのを使用してHTML要素をアニメーション化します。私は世界のHTMLLoaderでアニメーションをしようとすると、問題はありません。しかし、私は「二次」のHTMLLoader(元の文書で開かれた、すなわち1)内の要素をアニメーション化しようとするときに問題を抱えている。
アニメーションは滑らかではない - それは唯一の「ステップ」私は、マウスを移動すると。マウスが移動されない限り、それだけで表示されていない - アニメーションプロパティ(例えばtop
、left
、等)はまだ更新されます。私は、マウスを動かしていないよあれば、アニメーションが開始と終了状態の間で任意の遷移を見ることなく完了します。
アニメーションの種類は重要ではないようです。私は、次のコードを簡素化しました。
var loader;
$(function() {
loader = new air.HTMLLoader();
loader.addEventListener(air.Event.COMPLETE, start);
window.htmlLoader.stage.addChild(loader);
loader.load(new air.URLRequest('sandbox2.html'));
});
function start() {
loader.width = loader.window.document.width;
loader.height = loader.window.document.height;
$('.task', loader.window.document).click(function() {
$(this).animate({ backgroundColor: '#c00' }, 1000);
});
}
私はFirefoxとSafariの両方に同等のHTML / JSをロードしようとした、それは大丈夫でした。私は、Mac OS X 10.5を実行しているよ。
任意のアイデア?ありがとう!
解決
私は同じ問題を持っていました。問題は、jQueryのアニメーションがないセカンダリウィンドウのコンテキストに、メインウィンドウ上で更新する必要があるとの間隔を設定している点である。
私は私の作品のjQuery 1.3.2への小さなパッチを作りました。
他のヒント
AIRは、より多くのSafariとChromeのようなものです。 AIRは、Webkitのを使用し、それはWebkitのバージョンでのSafariとChromeの背後にあるビットです。あなたが見ることができますどのようにそれらの仕事?
私は、AIRでのjQueryを使用しましたが、私はAIRでのアニメーションの方法を使用していたとは思わない。
また、(私は何を想像することはできませんが)、それは色についての何かだかどうかを絞り込んでみてください。代わりに、色の高さのようなものを試してみてください。
また、なぜあなたはnoconflictを使用する必要がありましたか?あなたが別のライブラリがロードされていますか?私はそれを行うために持って覚えていない。
、それはあなたのjqueryのアプリがアプリケーションサンドボックス(Adobe AIRの上のデフォルトが、制限区域)内で実行されているとのセキュリティ上の問題のように私には見えます。非アプリケーションサンドボックスを作成し、これはセキュリティ上の問題であるかどうかを確認するためにそこにあなたのアプリケーションを実行してください。非アプリケーションサンドボックスは、正確にブラウザのように動作するはずです。 http://labs.adobe.com/wiki/index.php/AIR: HTML_Security_FAQする
アプリケーションセキュリティサンドボックス内のコンテンツとは異なり、非アプリケーションセキュリティサンドボックス内のJavaScriptコンテンツは、いつでも動的に生成されたコードを実行するためにeval()関数を呼び出すことができます。ただし、非アプリケーションセキュリティサンドボックス内のJavaScriptに制限があります。しかし、これらの制限は、一般的なブラウザの制限を反映します。
非アプリケーションサンドボックスは、インラインフレームを使用して容易に作成することができる。