chrome_jquery での jq width() メソッドの値 0 に対する解決策

WBOY
リリース: 2016-05-16 16:46:59
オリジナル
1317 人が閲覧しました

http://photo.163.com/shixiaojian089/train/28002 これは NetEase のフォト アルバムです。

私の制作方法では、各写真の幅を取得する必要があるため、jq の width() メソッドを使用するのが自然です。 FF や IE で実行する場合は大きな問題はありませんが、Chrome で実行すると問題が発生します。

アラートを使用してトラブルシューティングを行うと、Chrome の width メソッドで取得された値がすべて 0 であることがわかります。この場合、ここでスクリプトを実行すると画像がまったく読み込まれていないようです。このメソッドでは実行を開始する前に dom をロードするだけでよいため、問題は $(function(){}); にあるはずです。次に、onload で実行するように変更すると、確かに動作するようになりました。ただし、これは明らかに良い考えではありません。結局のところ、onload で実行するには、ファイル全体の内容がすべて読み込まれるまでスクリプトを実行する必要があります。

オンラインで検索したところ、この人 http://www.jb51.net/article/50402.htm も同じ問題に遭遇したとのコメントの下に解決策を求めるメッセージが表示されています。を参照してください:

画像の幅と高さを取得したい場所で

$img.load(function(){
var img_h = $img.height();
var img_w = $img .width();
}

この方法でも、画像が必要な場所で $(function(){}) を使用できます。ファイルの内容全体がロードされるのを待つ必要がなくなります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート