真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用JavaScript非行間樣式怎么獲取函數(shù)

這篇文章給大家介紹使用JavaScript非行間樣式怎么獲取函數(shù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

站在用戶的角度思考問題,與客戶深入溝通,找到泌陽網(wǎng)站設(shè)計與泌陽網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋泌陽地區(qū)。

行間樣式:元素內(nèi)部用style定義的樣式,如:

非行間樣式:在內(nèi)通過css定義的樣式

 
 
   
     
     
   
   
   
     
      寬 
    
              window.onload =function(){        var oDiv1=document.getElementById('div1');        oDiv1.onclick=function(){          oDiv1.style.width=200+'px';        }      }     

我在頁面放了一個方塊,紅底黑邊,想通過點擊該方塊讓他的寬度變?yōu)?00px,看一下結(jié)果——沒有任何反應(yīng),也沒有報錯。

在事件中添加alert('a');有反應(yīng),說明onclick事件被觸發(fā)了,那么就是

oDiv1.style.Width=200+'px';

這行代碼有問題。

打印一下這個這個變量:

alert(oDiv1.style.Width);

雖然不報錯,但是顯示空白,即使用變量賦值之后任然無法獲取這個值,真正的原因是style只能獲取行間樣式,試一下:

 
 
   
     
     
   
   
   
     
      寬 
    
              window.onload =function(){        var oDiv1=document.getElementById('div1');        oDiv1.onclick=function(){          oDiv1.style.width=200+'px';        }      }     

可以確定確實是行間樣式與非行間樣式的問題,實際上不可能把所有樣式都寫在行間。

要解決這個問題,需要引入兩個元素屬性——currentStyle和getComputedStyle(obj, false)

currentStyle——獲取非行間(當(dāng)前樣式)IE瀏覽器專屬,chrome和FF不兼容。

getComputedStyle(obj, false)——獲取非行間(計算后的樣式)IE不兼容。

 
  window.onload =function(){ 
    var oDiv1=document.getElementById('div1'); 
    oDiv1.onclick=function(){ 
            //FF、chrome 
            alert(getComputedStyle(oDiv1, false).width); 
            //IE 
            alert(oDiv1.currentStyle.width); 
    } 
  } 

把他封裝一下寫成一個公用函數(shù):

//obj:哪個元素 
//attr:那個樣式 
function getStyle(obj,attr){ 
  if(obj.currentStyle){ 
    //IE 
    return obj.currentStyel[attr]; 
  }else{ 
    //FF 
    return getComputedStyle(obj, false)[attr]; 
  } 
}

通過判斷obj.currentStyle是否為真來判斷當(dāng)前瀏覽器為IE還是其他。

注意:.width的寫法可以寫成['width']

關(guān)于使用JavaScript非行間樣式怎么獲取函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站題目:使用JavaScript非行間樣式怎么獲取函數(shù)
本文URL:http://weahome.cn/article/pcdoci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部