關于用Jquery的height()、width()計算動態(tài)插入的IMG標簽的寬高的問題
更新時間:2010年12月08日 14:58:41 作者:
關于用Jquery的height()、width()計算動態(tài)插入的IMG標簽的寬高的問題的解決方法,需要的朋友可以參考下。
先來看現(xiàn)象:
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<div id='aa' style='width:200px;height:200px;' /></div>");
alert($("#aa").width());
});
</script>
結果為:200
所有瀏覽器都得到正確的結果
把插入的元素改為IMG
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<img id='aa' src='http://www.dbjr.com.cn/images/logo.gif' />");
alert($("#aa").width());
});
</script>
(注:image1.jpg的實際寬為693)
結果為:
Opera:34
Firefox:0
IE:28
Chrome:0
Safari:0
再F5刷新一下,結果為:
Firefox:693
IE:693
Opera:693
Chrome:0
Safari:0
Safari和Chrome始終為0。
應該可以理解為在圖片沒有加載或呈現(xiàn)完成時計算出的圖片寬高也是不正確的,刷新后應該是有了緩存,所以結果就正確了,但為什么Chrome
和Safari始終都為0呢?而且IE和OPERA居然一開始還會計算出一個錯誤值出來的。
改成下面這樣就都好了:
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<img id='aa' src='http://www.dbjr.com.cn/images/logo.gif' />");
window.setTimeout(function(){alert($("#aa").width()); },100);
});
</script>
有解決過此問題或有關于此問題更詳細的認識的大鳥還望不吝賜教..
$(document).ready(function() {
$("#cc").append("<img id='aa' />");
$("#aa").load(function(){
alert($("#aa").width()
}).attr("src", "http://www.dbjr.com.cn/images/logo.gif");
});
復制代碼 代碼如下:
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<div id='aa' style='width:200px;height:200px;' /></div>");
alert($("#aa").width());
});
</script>
結果為:200
所有瀏覽器都得到正確的結果
把插入的元素改為IMG
復制代碼 代碼如下:
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<img id='aa' src='http://www.dbjr.com.cn/images/logo.gif' />");
alert($("#aa").width());
});
</script>
(注:image1.jpg的實際寬為693)
結果為:
Opera:34
Firefox:0
IE:28
Chrome:0
Safari:0
再F5刷新一下,結果為:
Firefox:693
IE:693
Opera:693
Chrome:0
Safari:0
Safari和Chrome始終為0。
應該可以理解為在圖片沒有加載或呈現(xiàn)完成時計算出的圖片寬高也是不正確的,刷新后應該是有了緩存,所以結果就正確了,但為什么Chrome
和Safari始終都為0呢?而且IE和OPERA居然一開始還會計算出一個錯誤值出來的。
改成下面這樣就都好了:
復制代碼 代碼如下:
<div id="cc"></div>
<script>
$(document).ready(function() {
$("#cc").append("<img id='aa' src='http://www.dbjr.com.cn/images/logo.gif' />");
window.setTimeout(function(){alert($("#aa").width()); },100);
});
</script>
有解決過此問題或有關于此問題更詳細的認識的大鳥還望不吝賜教..
復制代碼 代碼如下:
$(document).ready(function() {
$("#cc").append("<img id='aa' />");
$("#aa").load(function(){
alert($("#aa").width()
}).attr("src", "http://www.dbjr.com.cn/images/logo.gif");
});
相關文章
Easyui和zTree兩種方式分別實現(xiàn)樹形下拉框
最近工作中需要用到樹形下拉框,因為項目中樹形結構使用的是zTree,效果不是很好看,于是想著使用easyui的comboTree,雖然效果達到了,但是風格和bootstrap不搭,下面把這兩種方式的效果分享到腳本之家平臺供大家參考2017-08-08
jquery動態(tài)賦值id與動態(tài)取id方法示例
這篇文章主要給大家介紹了關于jquery動態(tài)賦值id與動態(tài)取id的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-08-08
使用jquery實現(xiàn)的循環(huán)連續(xù)可停頓滾動實例
下面小編就為大家?guī)硪黄褂胘query實現(xiàn)的循環(huán)連續(xù)可停頓滾動實例。2016-11-11
方便實用的jQuery checkbox復選框全選功能簡單實例
這篇文章介紹了jQuery checkbox復選框全選功能的代碼實例,有需要的朋友可以參考一下2013-10-10

