| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
yne7
9年前发布

JS常用函数汇总

/**   * 根据电话号码获取位置信息   * @param phoneNo 电话号码   * @param succFunc 调用接口成功的回调函数   *        回调函数入参的数据格式如下:   *            {                "mobile": "18576648552",                "province": "广东",                "isp": "中国联通",                "stock": "1",                "amount": "10000",                "maxprice": "0",                "minprice": "0",                "cityname": "深圳"              }   */  function getPositionByPhoneNo(phoneNo, succFunc)  {      $.ajax({          url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",          type: "post",          data: {mobile: phoneNo, amount: 10000},          dataType: "jsonp",          jsonp: "callname",          jsonpCallback: "getPhoneNumInfoExtCallback",          success: function(data){              if(succFunc)              {                  succFunc(data);              }          },          error: function(xhr, errorCode){              console.log("根据手机号获取归属地服务失败【前端】");              if(succFunc)              {                  succFunc({});              }          }      });  }     /**   * 将数字金额进行千位分隔   * @param number 需要分隔的数字   * @return 返回分割后的数字   */  function formatFloatToThousand(number)   {      number = number.toString();      var resultArray = [];      var pointPosi = number.indexOf("."); // 取得小数点的位置      var int = pointPosi == -1 ? number : number.substring(0, pointPosi); // 取得小数中的整数部分      var float = pointPosi == -1 ? '' : number.substring(pointPosi + 1, number.length);      var remainSum = int.length % 3; // 超过 3 的位数      if(int.length < 3)      {          return number;      }      if(remainSum == 0)      {          resultArray = resultArray.concat(int.match(/\d{3}/g));      }      else      {          resultArray.push(int.substring(0, remainSum));          int = int.substring(remainSum);          resultArray = resultArray.concat(int.match(/\d{3}/g));      }      return pointPosi == -1 ? resultArray.join(',') : resultArray.join(',') + '.' + float;  }     /**   * 测量文本的宽度   * @param $source 需要测量文本宽度的 jquery 对象   */  function measureTxtWidth($source)  {      var txtWidth = null;      var text = $source.text();      var $span = $("<span>" + text + "</span>").appendTo("body");      $span.css({whiteSpace: "nowrap", font: $source.css("font")});      txtWidth = $span.width();      $span.remove();      return txtWidth;  }     使用新浪开放 api 获取当前位置:  http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js  返回的数据格式如下:  {    "ret": 1,    "start": "180.149.132.0",    "end": "180.149.159.255",    "country": "中国", // 国家    "province": "北京", // 省份    "city": "北京", // 城市    "district": "",    "isp": "电信", // 运营商    "type": "企业",    "desc": "中国电信集团电信"  }     /**   * 获取地理定位信息,使用腾讯地图进行定位   * @param getSuccFunc 获取成功的回调函数回调函数   */  function getGeolocation(getSuccFunc)  {      var succResult = {}; // 请求位置成功的结果      var geolocation = new soso.maps.Geolocation();      var positionParam = {          locationMode: "CLIENT_IP" // ip定位      };      var positionCallback = function(data, status){          if(status === "OK")          {              if(data && data.latLng)              {                  succResult.latitude = data.latLng.lat; // 纬度                  succResult.longitude = data.latLng.lng; // 经度              }          }          if(getSuccFunc)          {              getSuccFunc(succResult);          }      };      geolocation.position(positionParam, positionCallback);  }     /**   * 将数字转换成字符串的通用方法   * 说明:直接使用 toFixed 方法会进行四舍五入,因此写一个将数字转换为指定小数位数字符串的方法   * @param sourceData 源数据   * @param decimalLen 小数的位数   */  function numberToString(sourceData, decimalLen)  {      decimalLen = typeof(decimalLen) == undefined ? 0 : decimalLen;      var result = sourceData + "";      var integerStr = null; // 整数部分      var decimalStr = null; // 小数部分      if(result.indexOf(".") == -1)      {          result = Number(result).toFixed(decimalLen);      }      else      {          integerStr = result.substring(0, result.indexOf(".")); // 整数部分          decimalStr = /\.\d+/.exec(result); // 小数部分          decimalStr = Number(decimalStr);          decimalStr = decimalStr.toPrecision(decimalLen).substr(0, decimalLen + 2);          result = integerStr + decimalStr.substr(1);      }      return result;  }     /**   * 根据电话号码获取位置信息,使用拍拍开放 api   * @param phoneNo 电话号码   * @param succFunc 调用接口成功的回调函数   *        回调函数入参的数据格式如下:   *            {                "mobile": "18576648552",                "province": "广东",                "isp": "中国联通",                "stock": "1",                "amount": "10000",                "maxprice": "0",                "minprice": "0",                "cityname": "深圳"              }   */  function getPositionByPhoneNo(phoneNo, succFunc)  {      $.ajax({          url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",          type: "post",          data: {mobile: phoneNo, amount: 10000},          dataType: "jsonp",          jsonp: "callname",          jsonpCallback: "getPhoneNumInfoExtCallback",          success: function(data){              if(succFunc)              {                  succFunc(data);              }          },          error: function(xhr, errorCode){              console.log("根据手机号获取归属地服务失败【前端】");          }      });  }