1

Typo3 Web サイトで Javascript を使用して画像の高さを見つけることができないようです。

基本的に私は内で実行されるjavascriptを持ってい$(document).ready(function () {ます. ページ上の画像を探し、その高さと幅を見つけて、結果に基づいて操作を実行します。

これが機能する場合もあれば、機能しない場合もあります。通常、幅の値は取得しますが、高さは取得しません。これは、ブラウザが画像の読み込みを完了していないためだと思われます。

これを解決するために、高さを探す前に img が確実に読み込まれるように 2 秒の遅延を含めました。しかし、これは問題を解決する良い方法ではありません。ダウンロード速度が遅い場合は特にそうです。

操作を実行する前に、イメージが完全にロードされていることを確認するには、他にどのような方法がありますか?

ここにいくつかの HTML があります:

<div class="resize-thumb-img">
    <img src="#.jpg" />
</div>
<div class="resize-thumb-img">
    <img src="#.jpg" />
</div>
<div class="resize-thumb-img">
    <img src="#.jpg" />
</div>

そしていくつかのJS:

$(document).ready(function () {

    setTimeout(myFunctionX, 2000);

    function myFunctionX() {
        $(".resize-thumb-img img").each(function(){  //for each image

            console.log("working on image: "+$(this).width() +"x"+$(this).height());

            /* MORE WORK HERE */
        });
    }
});

235x420 コンソール ログには、 OR 235x0 OR のような結果が表示 されます。0x0

4

4 に答える 4

0

以下のものを試すことができます:

$('img').each(function() {

    $(this).attr('height',$(this).height());

    $(this).attr('width',$(this).width());

});

これは、jquery を使用して画像の高さを見つけるのに役立ちます。

于 2013-05-09T11:04:31.787 に答える
0

サーバー側のスクリプトを制御できる場合は、ビットマップのサイズをファイル名と共にデータベースに保存するだけでよいのではないでしょうか? 次に、IMG 要素の WIDTH および HEIGHT 属性を設定できます。

于 2013-05-09T11:07:21.423 に答える