1. 時刻の書式設定とその他の方法 moment.jsライブラリファイルの使用をお勧めします 2. テンプレート、ループ、MAPなどのメソッドの使用 underscode.js のメソッド 3. フォームをJSONにシリアル化する コードをコピー コードは次のとおりです。$.fn.serializeJson = 関数() { var serializeObj = {}; var 配列 = this.serializeArray(); var str = this.serialize(); $(配列).each(関数() { if (serializeObj[this.name]) { $.isArray(serializeObj[this.name]) の場合 { serializeObj[this.name].push(this.value); } それ以外 { serializeObj[this.name] = [serializeObj[this.name], this.value]; } } それ以外 { シリアル化Obj[this.name] = this.value; } }); serializeObj を返します。 }; 4. ... 充填を使用した文字列インターセプト コードをコピー コードは次のとおりです。String.prototype.strcut = 関数(数値) { var 長さ = this.length; var tmp = this.substr(0, 数値); if (this.length > 数値) { tmp + = "…"; } tmp を返します。 } 5. 時間の形式はxxxx日、xxx分前、日付です コードをコピー コードは次のとおりです。Date.prototype.Format = function(fmt, current) { if (現在) { var diff = current - this.getTime(); (差分 < 5 * 60 * 1000)の場合{ 「ただ今」を返します。 } (差分 < 60 * 60 * 1000)の場合{ return (Math.floor(diff / (60 * 1000))) + "分前"; } (差分 < 24 * 60 * 60 * 1000)の場合{ return (Math.floor(diff / (60 * 60 * 1000))) + "時間前"; } (差分 < 30 * 24 * 60 * 60 * 1000)の場合{ return (Math.floor(diff / (24 * 60 * 60 * 1000))) + "日前"; } (差分 < 12 * 30 * 24 * 60 * 60 * 1000)の場合{ return (Math.floor(diff / (30 * 24 * 60 * 60 * 1000))) + "一ヶ月前"; } (差分>12 * 30 * 24 * 60 * 60 * 1000)の場合{ return (Math.floor(diff / (12 * 30 * 24 * 60 * 60 * 1000))) + "年前"; } } var o = { "Y+": this.getFullYear(), //月 "M+": this.getMonth() + 1, //月 "d+": this.getDate(), //日 "h+": this.getHours(), // 時間 "m+": this.getMinutes(), // ポイント "s+": this.getSeconds(), // 秒 "q+": Math.floor((this.getMonth() + 3) / 3), //四半期 "S": this.getMilliseconds() // ミリ秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); (変数 k が o の場合) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); fmt を返します。 }; 6. URLの解析 コードをコピー コードは次のとおりです。関数parseUrl() { var arr = location.search.split('?')[1].split('&'); var パラメータ = {}; (var i = 0, l = arr.length; i < l; i++) の場合 { var パラメータ = arr[i].split('='); パラメータ[パラメータ[0]] = パラメータ[1]; } パラメータを返します。 } 7. パラメータを取得する コードをコピー コードは次のとおりです。関数 getParameterByName(名前) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = 新しい RegExp("[\\?&]" + 名前 + "=([^&#]*)"), 結果 = regex.exec(location.search); 結果が null を返します。"" : decodeURIComponent(results[1].replace(/\+/g, " ")); } 8. 関数スロットリングにより、リアルタイム検索機能などの頻繁なイベントトリガーがよりまばらになり、パフォーマンスが向上します。使用方法は、fnはイベント応答関数、delayは間隔時間、throttle(fn, delay)を呼び出してイベントに新しい関数を返すことです。 コードをコピー コードは次のとおりです。関数スロットル(fn, 遅延) { var タイマー = null; 関数()を返す{ var コンテキスト = this、 args = 引数; タイマーをクリアします。 タイマー = setTimeout(関数() { fn.apply(コンテキスト、引数); }、 遅れ); }; } 9. フォームの複数送信を防ぐには、9のように新しい関数を返す コードをコピー コードは次のとおりです。/** * 複数回のクリックを防ぐ * * fnが完了したときに呼び出されるコールバック * 関数 fn(イベント,終了) { * (typeof end === "function") && end(); // 操作が完了しました * } */function noRepeateTap(fn) { var $obj; 関数(イベント)を返す{ $obj = $(これ); ($obj.data("loading") === "true") の場合 { 戻る; } $obj.data("読み込み中", "true").addClass('読み込み中'); fn.call(this, イベント, 関数終了() { $obj.data("読み込み中", "").removeClass('読み込み中'); 戻る; }); } } 例9 コードをコピー コードは次のとおりです。// イベントをバインドする $(container).on('click', '.btn-cancel', noRepeateTap(cancel)); //イベント応答関数 関数キャンセル(イベント、終了) { イベントをデフォルトにしない(); //非同期リクエストをシミュレートする setTimeout(関数(){ end(); // 完了を通知するには、手動でインジェクション完了関数を呼び出す必要があります。この関数は、スタイルを調整するためにロードクラスクラスを自動的に追加し、完了後に自動的に削除します。 },5000) } |
<<: Prometheusコンテナのデプロイメントのための実用的なソリューション
>>: 少なくともn日間連続してログインしているユーザーに対するSQLクエリ
絶対長さピクセルpx はピクセル値であり、メートルやセンチメートルのような固定の長さです。相対的な長...
目次背景仮想ファイルのインポート例書類タイプスクリプトのサポート要約する背景新しいプロジェクトで v...
目次MySQL NDB Clusterとはクラスター構築のための準備作業クラスターのデプロイを開始す...
最初の方法Alibaba Cloud および Baidu Cloud サーバーが利用可能です。 ! ...
1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...
これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...
目次if判定の最適化1. 最も簡単な方法:判断2. より良い方法: スイッチ3. より良いアプローチ...
ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...
この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...
Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...
プロジェクトの作業を開始するときは、ワイヤーフレームを使用してアイデアをスケッチすることが重要です。...
【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...
目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...
複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...
高さ:100% が機能しないのはなぜですか?この知識は不人気ではありませんが、使用する際には混乱する...