欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JavaScript工具庫(kù)MyTools詳解

本文實(shí)例為大家分享了JavaScript工具庫(kù)MyTools,不斷填充中,供大家參考,具體內(nèi)容如下

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、景泰網(wǎng)站維護(hù)、網(wǎng)站推廣。

MyTools.js

將功能綁定在window中,調(diào)用的時(shí)候,直接使用myToos.xxx就可以進(jìn)行函數(shù)調(diào)用。

(function (w) {
 w.myTool = {
  /**
   * 根據(jù)id獲取元素節(jié)點(diǎn)
   * @param {string}id 節(jié)點(diǎn)id
   * @returns {any} id為id的節(jié)點(diǎn)
   */
  $: function (id) {
   return typeof id === 'string' ? document.getElementById(id) : null;
  },

  /**
   * 返回網(wǎng)頁(yè)被卷去的高、網(wǎng)頁(yè)被卷去的左
   * @returns {{top: *, left: *}} top:被卷去的高 left:被卷去的左
   */
  scroll: function() {
   if(window.pageYOffset !== null){ // 最新的瀏覽器
    return {
     "top": window.pageYOffset,
     "left": window.pageXOffset
    }
   }else if(document.compatMode === 'CSS1Compat'){ // W3C
    return {
     "top": document.documentElement.scrollTop,
     "left": document.documentElement.scrollLeft
    }
   }
   return {
    "top": document.body.scrollTop,
    "left": document.body.scrollLeft
   }
  },

  /**
   * 返回當(dāng)前界面寬度和高度
   * @returns {{width: *, height: *}} width:當(dāng)前界面寬度 height:當(dāng)前界面高度
   */
  client: function() {
   if(window.innerWidth !== null){ // 最新的瀏覽器
    return {
     "width": window.innerWidth,
     "height": window.innerHeight
    }
   }else if(document.compatMode === 'CSS1Compat'){ // W3C
    return {
     "width": document.documentElement.clientWidth,
     "height": document.documentElement.clientHeight
    }
   }
   return {
    "width": document.body.clientWidth,
    "height": document.body.clientHeight
   }
  },

  /**
   * 檢查obj元素是否的類名中是否有cs
   * @param {Element}obj
   * @param {string}cs
   * @returns {boolean} true有 false無(wú)
   */
  hasClassName: function (obj, cs) {
   var reg = new RegExp('\\b' + cs + '\\b');
   return reg.test(obj.className);
  },

  /**
   * 為obj添加類名cs
   * @param {Element}obj
   * @param {string}cs
   */
  addClassName: function (obj, cs) {
   if(!this.hasClassName(obj,cs)){
    obj.className += ' ' + cs;
   }
  },

  /**
   * 移除所有 obj的cs類:
   * @param {Element}obj
   * @param {string}cs
   */
  removeClassName: function (obj, cs) {
   var reg = new RegExp('\\b' + cs + '\\b');
   // 刪除class
   obj.className = obj.className.replace(reg, '');
  },

  /**
   * 對(duì)設(shè)置和移除obj元素的cs類進(jìn)行切換:
   * @param {Element}obj
   * @param {string}cs
   */
  toggleClassName: function (obj, cs) {
   if(this.hasClassName(obj,cs)){
    // 有, 刪除
    this.removeClassName(obj,cs);
   }else {
    // 沒(méi)有,則添加
    this.addClassName(obj,cs);
   }
  },

  /**
   * 控制元素是否顯示
   * @param {Element}ele 元素節(jié)點(diǎn)
   */
  hide: function (ele) {
   ele.style.display = 'none'
  },
  show: function (ele) {
   ele.style.display = 'block'
  },

  /**
   * 獲得某個(gè)元素的某個(gè)CSS屬性
   * @param {Element}obj
   * @param {string}attr
   * @returns {string}
   */
  getCSSAttr: function (obj, attr) {
   if (obj.currentStyle) { // IE 和 opera
    return obj.currentStyle[attr];
   } else {
    return window.getComputedStyle(obj, null)[attr];
   }
  },

  /**
   * 更改某個(gè)元素的某個(gè)CSS屬性
   * @param {Element}eleObj
   * @param {string}attr
   * @param {string | number}value
   */
  setCssAttr: function (eleObj, attr, value) {
   eleObj.style[attr] = value;
  },

  /**
   * 緩動(dòng)動(dòng)畫(huà)函數(shù)
   * @param eleObj 要執(zhí)行緩動(dòng)動(dòng)畫(huà)的元素對(duì)象
   * @param json 以JSON格式傳入需要改的屬性
   * @param fn 回調(diào)函數(shù)
   */
  slowMoving: function (eleObj, json, fn) {
   clearInterval(eleObj.timer);
   var speed = 0, begin = 0, target = 0, flag = false;
   eleObj.timer = setInterval(function () {
    flag = true;
    for(var key in json){
     if (json.hasOwnProperty(key)){
      if (key === 'opacity') {
       begin = parseInt(parseFloat(myTool.getCSSAttr(eleObj, key)) * 100);
       target = parseInt(json[key] * 100);
      } else if ('scrollTop' === key) {
       begin = Math.ceil(Number(eleObj.scrollTop));
       target = parseInt(json[key]);
      } else {
       begin = parseInt(myTool.getCSSAttr(eleObj, key)) || 0;
       target = parseInt(json[key]);
      }
      speed = (target - begin) * 0.2;
      speed = (target > begin) ? Math.ceil(speed) : Math.floor(speed);
      if (key === 'opacity') {
       eleObj.style.opacity = (begin + speed) / 100;
      } else if ('scrollTop' === key) {
       eleObj.scrollTop = begin + speed;
      } else if ("zIndex" === key) {
       eleObj.style[key] = json[key];
      }else {
       eleObj.style[key] = begin + speed + 'px';
      }
      if (begin !== target) {
       flag = false;
      }
     }
    }
    if(flag){
     clearInterval(eleObj.timer);
     fn && fn();
    }
   }, 100);
  },

  /**
   * 傳入總秒數(shù)返回對(duì)應(yīng)小時(shí)、分鐘以及秒數(shù)
   * @param second 總秒數(shù)
   * @returns {{min: number , hour: number, second: number}}
   */
  secondToHourMinSecond: function (second) {
   return{
    "hour" : Math.floor(second / (60*60)),
    "min" : Math.floor(second % (60*60) / 60),
    "second" : Math.floor(second %60)
   }
  },

  /**
   * 傳入一個(gè)數(shù)字,如果是一位數(shù)字,前面補(bǔ)0.如果是兩位,返回原值。
   * @param {number}num
   * @returns {number}
   */
  addZero: function (num) {
   return num < 10 ? '0' + num : num;
  },

  /**
   * 獲取字符串真實(shí)長(zhǎng)度,目前僅針對(duì)中文和英文字符串
   * @param {string}str
   * @returns {number}
   */
  getStrLength: function (str){
  var len = 0, code = 0;
  for (var i = 0; i < str.length; i++) {
   code = str.charCodeAt(i);
   if (code>=0 && code <= 127){
    len += 1;
   }else{
    len += 2;
   }
  }
  return len;
 }
 };
})(window);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站題目:JavaScript工具庫(kù)MyTools詳解
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article38/jjpjsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)營(yíng)銷型網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站改版、做網(wǎng)站手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
亚洲一区成人精品在线| 成熟人妻一区二区三区人妻| 国产熟乱老女人露脸视频| 午夜在线免费观看小视频| 国产日韩欧美亚洲一区二区| 国产精品成人av在线网站| 日韩av天堂在线观看| 国产一区二区欧美精品| 亚洲一二三无人区是什么| 中文字幕高清一区二区三区| 在线免费观看午夜视频| 午夜性生活免费在线观看| 亚洲精品一区二区99| 国产一区黄片视频在线观看| 81精品国产综合久久精品伦理| 91亚洲精品国产一区| 深夜成人免费观看视频| av一区二区三区网站| 日本乱一区二区三区在线| 91国产性感美女视频| 永久黄区观看在线网址| 国产第一页第二页在线| av中文在线免费观看| 亚洲熟妇亚洲熟妇亚洲熟妇| 福利1中文字幕手机在线| 国产日本韩国三级在线| 免费一区二区不卡去日本| 欧美在线日韩一区二区| 亚洲欧洲精品真人av蜜臀| 中文字幕日韩激情欧美一区| 久久熟妇少妇亚洲精品| 久久99热这里只频精品| 在线观看日韩三级av| 少妇互射视频免费视频| 日韩有码在线中文字幕| 中文字幕日韩一区二区| 午夜福利中文字幕在线亚洲| 国产激情盗摄一区二区三区| 日韩欧美一区二区不卡在线| 日本人妻系列在线播放| 日韩精品一区二区毛片|