簡體   English   中英

jQuery圖像大小為零

[英]JQuery image size zero

我做了一個小插件,可以使用naturalHeightnaturalWidth獲得大小

有時在加載頁面時,我的寬度和高度為0(其他時候效果很好)。 我猜是因為它在加載圖像之前會計算尺寸。

我該如何糾正?

我試圖在$(document).ready內運行插件$("selector").myplugin() ,但這沒有任何改變

我還嘗試過將setTimeout包裝在我使用naturalHeightnaturalWidth的變量周圍,但這不會阻止其余代碼運行-並且我不會使其加載速度比必要的慢(如果不需要,請將所有內容包裝在setTimeout

所以我的問題-有沒有辦法

  1. 如果大小為0,請稍等,然后重試
  2. 在不再為0之前不再繼續運行休息

還是有人有其他解決方案?

准備僅等待dom加載,在這種情況下,您可以按順序在圖像上使用load(),您不必等到所有的elm窗口都加載完畢

加載圖像后,請參見下面的代碼片段,最后一個的大小被打印在底部,

 $(function(){ $( "#img" ).load(function() { console.log($(this).width()+"-"+$(this).height()) }); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <img id="img" src="https://cdn.pixabay.com/photo/2017/09/07/14/15/wide-2725426_960_720.jpg" > 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM