6

私のページには Flash 要素があります。Flash は一般に非常にデリケートなため、整数のピクセル値に配置する必要があります (詳細については、Flash ウェブカメラ アクセス リクエスト プロンプトが応答しないを参照してください)。

これを達成するには、 を でラップしobjectdivを設定position:absoluteし、objectjQuery を使用して を設定leftし、含む をtop丸めます。それは一口でした。ここにコード形式があります:offsetdiv

<div id="wrapper">
    <object id="flash" blah style="position:absolute">
        <!-- blah -->
    </object>
</div>
<script>
    function update(){
        var p=$('#wrapper').offset();
        $('#flash').css({'left':Math.round(p.left),'top':Math.round(p.top)});
    }
    $(document).ready(function(){
        $(window).resize(update);
        update();
    });
</script>

そして、それはすべてうまく機能します(上記のコードに間違いがある場合、それはそれを削減しただけです)

これにより、ブラウザーのサイズが変更されたときに位置が更新されます。JavaScript によって位置が変更されたときに位置を更新するのは簡単ですが、ページは CSS を使用してtransition-duration一部の変更をアニメーション化します。どうすればこれを検出できますか? 少なくとも、オブジェクトに影響を与える遷移がいつ発生しているかを検出し、いつ停止するかを知りたいと思います。理想的には、動きをキャッチする方法を知りたいです (たとえば、フォント サイズの変更や画像の読み込みによって引き起こされる)。

4

1 に答える 1