http://photo.163.com/shixiaojian089/train/28002これはNeteaseのフォトアルバムです。見た後に試してみたいです。
私の制作方法では、各写真の幅を取得する必要があるため、JQの幅()メソッドを自然に使用しました。 FFとIEの下での実行に大きな問題はありませんが、Chromeに関しては問題があります。
アラートを使用してトラブルシューティングを行い、Chromeの幅メソッドによって取得された値は0であることがわかりました。この場合、スクリプトがここで実行されているときに画像がまったくロードされないと思います。問題は$(function(){});なぜなら、この方法では、ロード後にDOMを実行する必要があるためです。次に、それを変更してオンロード下で実行すると大丈夫です。しかし、これは明らかに良い解決策ではありません。結局のところ、スクリプトを実行する前に、ファイル全体のすべての内容がロードされるまで待つ必要があります。
オンラインで検索した後、この男//www.vevb.com/article/50402.htmも同じ問題に遭遇したことがわかりました。彼のコメントの下には解決策があります。これは参照として使用できます。
写真の幅と高さを取得したい場所に使用してください
コードコピーは次のとおりです。
$ img.load(function(){
var img_h = $ img.height();
var img_w = $ img.width();
}
これにより、$(function(){})を使用できます。ファイルコンテンツ全体がロードされるのを待つことを避けることを避けるために、画像をロードする必要がある画像オブジェクトのロードメソッドを呼び出します。