/*a.css的代碼*/*{margin:0;padding:0;}.dialog{ width: 380px; height: auto; position: absolute;z-index: 9000; background: #38f; color:#333; }/*加載a.css文件*/var cssNode = document.createElement('link');cssNode.rel = 'stylesheet';cssNode.type = 'text/css';cssNode.media = 'screen';cssNode.href = 'a.css?t='+new Date().getTime();document.head.appendChild(cssNode);/*使元素居中*/function gocenter(ele){var bodyW=document.documentElement.clientWidthvar bodyH=document.documentElement.clientHeightvar elW=ele[0].offsetWidthvar elH=ele[0].offsetHeightele[0].style.left=(bodyW-elW)/2+'px'ele[0].style.top=(bodyH-elH)/2+'px'}/*調(diào)用代碼*/$('body').append('<div class="dialog">測(cè)試是否居中</div>')gocenter($('.dialog'))//可以居中setTimeout(function(){gocenter($('.dialog'))},0)問(wèn)題是:如果直接用gocenter($('.dialog'))的話,元素?zé)o法居中,但是只要用了setTimeout就可以居中了.我還發(fā)現(xiàn),如果直接調(diào)用gocenter($('.dialog')),那么獲取出來(lái)的元素offsetWidth的值是屏幕寬度,但我明明已經(jīng)先append,然后再調(diào)用的gocenter方法,應(yīng)該來(lái)說(shuō)是同步的代碼,為何還是獲取不到真實(shí)的元素寬度?從而導(dǎo)致整個(gè)元素?zé)o法居中
動(dòng)態(tài)加載的css導(dǎo)致js控制的元素?zé)o法居中
猛跑小豬
2019-02-14 18:15:59