ホームページ  >  記事  >  ウェブフロントエンド  >  よく使用される JS メソッドのコレクションを共有する

よく使用される JS メソッドのコレクションを共有する

高洛峰
高洛峰オリジナル
2017-03-12 14:09:271194ブラウズ

この記事では主に、一般的に使用される js メソッドのコレクションに関する知識を共有します。非常に良い基準値を持っています。以下のエディタで見てみましょう

配列オブジェクトディープコピー

var arr = [1,'2',{a:1,b:[1,2]}];
function deepCopy(p, c) {    
 var c = c || {};    
 for (var i in p) {      
 if (typeof p[i] === 'object' && p[i] !== null) {  c[i] = (p[i].constructor === Array) ? [] : {};    deepCopy(p[i], c[i]);      
 } else {         
  c[i] = p[i];      
 }    
 }    
 return c;  
}
var cArr = deepCopy(arr);
console.log(cArr);

アドレスバーパラメータを取得

function getUrlParam(){
 var _arr = location.search.substr(1).split('&');
 var _obj = {};
 for (var i = 0; i < _arr.length; i++) {
 _obj[_arr[i].split(&#39;=&#39;)[0]] = _arr[i].split(&#39;=&#39;)[1]
 };
 return _obj;
}
console.log(getUrlParam());

iosと互換性のあるチャットタイトル

function changeWxTitle(text){
 var $body = $(&#39;body&#39;);
 document.title = text;
 var $iframe = $(&#39;<iframe src="/favicon.ico"></iframe>&#39;);
 $iframe.on(&#39;load&#39;,function() {
 setTimeout(function() {
  $iframe.off(&#39;load&#39;).remove();
 }, 0);
 }).appendTo($body);
}

モバイルレスポンシブスタイル

/* 方法使用后会在 head标签添加一个style标签 并且有.my-resize 和 .no-resize的样式,需要适配屏幕的元素加上.my-resize类名即可,.no-resize是还原已适配的元素
 * window.onload = window.onresize = function(){
 *   pageResize({
 *     width : &#39;320&#39;,   //默认宽320px 
 *     height : &#39;504&#39;,   //默认高504px
 *   })
 *  }
 */
(function pageResize(opt) {
  var ua = navigator.userAgent,
    wp = ua.match(/Windows Phone ([\d.]+)/),
    android = ua.match(/(Android);?[\s\/]+([\d.]+)?/),
    // 设备宽高初始比例
    dw = document.documentElement.clientWidth,
    dh = document.documentElement.clientHeight,
    ds = dw / dh,
    // 页面宽高初始比例
    opt = opt || {},
    pw = opt.width || 320,
    ph = opt.height || 512,
    ps = pw / ph;
    // 核心代码:页面缩放比例
    var sx = dw/pw,
      sy = dh/ph; 
    var css = &#39;.no-resize { -webkit-transform: scaleY(&#39;+sx/sy+&#39;);transform: scaleY(&#39;+sx/sy+&#39;); }.my-resize { width:&#39;+pw+&#39;px !important;height:&#39;+ph+&#39;px !important;-webkit-transform: scale(&#39;+sx+&#39;,&#39;+sy+&#39;);transform: scale(&#39;+sx+&#39;,&#39;+sy+&#39;); -webkit-transform-origin:left top;transform-origin:left top;}&#39;,
    head = document.getElementsByTagName(&#39;head&#39;)[0],
    style = document.createElement(&#39;style&#39;);
    style.type = &#39;text/css&#39;;
    if(style.styleSheet){
      style.styleSheet.cssText = css;
    }else{
      style.appendChild(document.createTextNode(css));
    }
    head.appendChild(style); 
})()

以上がよく使用される JS メソッドのコレクションを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。