最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一段非常簡(jiǎn)單的js判斷瀏覽器的內(nèi)核

 更新時(shí)間:2014年08月17日 16:29:51   投稿:hebedich  
先說(shuō)明,此處的方法是說(shuō)超級(jí)簡(jiǎn)單的方法,不是指代碼超級(jí)少,而是用非常簡(jiǎn)單的知識(shí)點(diǎn),只要懂得怎么寫(xiě)JavaScript的行內(nèi)樣式就可以判斷。

  大家應(yīng)該還記得JavaScript行內(nèi)樣式怎么寫(xiě)吧?(看來(lái)我是廢話(huà)了?。?/p>

  在前端開(kāi)發(fā)過(guò)程中,有時(shí)我們需要判斷瀏覽器的內(nèi)核前綴,對(duì)不同的瀏覽器做出不同的處理,因此我們可以這么做。

  alert(element.style.webkitTransition); 這個(gè)是獲取以webkit為前綴的transition值。但如果不是webkit為前綴的瀏覽器,則會(huì)返回undefined。而我們可以將所有的內(nèi)核前綴給枚舉出來(lái),然后獲取其某個(gè)CSS的值,即可做出判斷。代碼如下:

function getVendorPrefix() {
  // 使用body是為了避免在還需要傳入元素
  var body = document.body || document.documentElement,
    style = body.style,
    vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'],
    i = 0;

  while (i < vendor.length) {
    // 此處進(jìn)行判斷是否有對(duì)應(yīng)的內(nèi)核前綴
    if (typeof style[vendor[i] + 'Transition'] === 'string') {
      return vendor[i];
    }
    i++;
  }
}

  然后只需要調(diào)用getVendorPrefix()即可知道瀏覽器的內(nèi)核前綴,如果返回undefined則證明瀏覽器不支持CSS3屬性,即沒(méi)有內(nèi)核前綴。

  大家應(yīng)該知道,我們?cè)趯?xiě)代碼的過(guò)程中,能寫(xiě)CSS就不寫(xiě)JavaScritp,畢竟CSS的性能會(huì)比自己寫(xiě)JS的高一些,因此,我們?cè)陂_(kāi)發(fā)一些實(shí)際應(yīng)該中,會(huì)用到transition,比如一個(gè)簡(jiǎn)單的圖片輪播,我們可以使用CSS3的transition,也可以使用jQuery的animate或自己寫(xiě)原生,但CSS3的性能肯定會(huì)高一些,因此我們可以寫(xiě)兩套代碼,對(duì)于支持CSS3的瀏覽器則使用animation,而不支持的則使用計(jì)時(shí)器或animate。這樣的話(huà)能夠獲取更好的用戶(hù)體驗(yàn)。

  以上是看jquery.slides.js的插件心得,如有更好的方法,請(qǐng)一定告知筆者。

相關(guān)文章

最新評(píng)論

洮南市| 乐平市| 济南市| 如东县| 巧家县| 凤城市| 罗源县| 小金县| 疏勒县| 安龙县| 敦化市| 汤原县| 额济纳旗| 永德县| 运城市| 丰县| 望江县| 万州区| 德昌县| 大悟县| 白山市| 历史| 威信县| 新化县| 海伦市| 锦州市| 梁河县| 册亨县| 丰城市| 赤城县| 县级市| 定陶县| 礼泉县| 郯城县| 东乡族自治县| 洪江市| 通渭县| 漠河县| 苏州市| 伊川县| 象州县|