關于獲取offsetHeight的問題
<!DOCTYPE?html>
<html>
<head>
<meta?charset="utf-8"/>
<title>WaterFall-By?Primes?to?PA</title>
<style>
????*{padding:?0;margin:0;}
????#main{
????????position:?relative;
????????padding:?0?auto;
????}
????.box{
????????float:?left;
????????padding:?6px;
????????margin:?7px;
????????border:?1px?solid?#ccc;
????????border-radius:?5px;
????????box-shadow:?0?0?6px?#ccc;
????}
????.box?img{
????????width:?162px;
????????display:?block;
????}
</style>
<script>
????var?data?=?creatdata()???//把我文件夾里的圖片路徑全部導入到數組中。
????window.onload?=?function(){
????????var?main?=?document.getElementById('main');
????????createle(main,data[0]);
????????//在頁面中創建一張圖片
????????var?checkpic?=?document.getElementsByClassName('box')[0];
????????//獲取剛剛添加的那張圖片然后打印他的屬性,然后問題就來了。
????????console.dir(checkpic);
????????console.log(checkpic.offsetHeight);
????????//?????????????????????????
????????//???剛添加的那張圖片offsetHeight獲取值死活就是?
????????//???不正確,但offsetWidth可以,dir里面顯示的數?
????????//???值也是正常的。為什么呢!這樣我沒法根據圖片?
????????//???的Height來進行下一步啊!我百度了好多也沒有?
????????//???準確的說法,最接近的是它剛加載所以沒法獲???
????????//?????????????????????????
????}
????
????function?creatdata(){??//圖片數組創建函數
????????var?dataarr?=?[];
????????for(var?i=0;?i<=31;?i++){
????????????dataarr.push('./'?+?i?+?'.jpg');
????????}
????????return?dataarr;
????}
????function?createle(oParent,src){????//元素創建函數
????????var?nbox?=?document.createElement('div');
????????nbox.className?=?'box';
????????var?nimg?=?document.createElement('img');
????????nimg.src?=?src;
????????nbox.appendChild(nimg);
????????oParent.appendChild(nbox);
????}
</script>
</head>
<body>
<div?id='main'>
</div>
</body>
</html>求解脫, 問題在上面!感謝
2017-11-29
?var?data?=?creatdata() ;將你最開始的這句代碼放在window.onload =function(){ }里面試試!
2017-03-25
nimg.onload = function () {
console.log(nimg.offsetHeight);
} ;
Js 非阻塞執行
2017-01-13
你用jquery試試