一個內部使用的javascript庫:geekpark.js

jopen 9年前發布 | 14K 次閱讀 JavaScript開發 geekpark.js

1.概述

一個團隊內部使用的javascrip庫,主要著重減輕前端工作量,提高組件復用性。目前處于初級開發階段。

2.安裝

  • 此插件依賴jQuery框架,請先引入jQuery
  • 下載geekpark.min.js到項目文件夾
  • 如果你需要使用gpalert等UI組件則還需要下載geekpark.min.css文件 ?

3.使用方法

  1. 「Grunt支持」運行grunt即可生成編譯scss并生成壓縮后的文件
  2. geekpark.min.js引入你的項目后,即可通過GeekPark.xxx調用其中組件/函數。GeekPark是暴露在window下的全局變量
  3. source map支持,如果你不想啟用或者瀏覽器加載不上可在geekpark.css最底部刪掉map引用

部分組件/函數列表

  1. slideToDom(dom, offset, callback):平滑滾動到某個DOM。
    • dom可為符合jQuery選擇器的任何形式,eg:.title#titleh1.titleinput[type='test']
    • offset距離DOM的偏移,即滑動后距離瀏覽器頂部的邊距
    • callback滑動完成后的回調函數
  2. isRetinaDisplay()檢測是否為Retina屏幕,返回布爾值(定義retina的界限為1.3dpi)
  3. whichTransitionEvent()檢測某元素css動畫知否執行完畢。某些瀏覽器原生也有檢測完畢,該例子只是為了兼容性

    var transitionEvent = GeekPark.whichTransitionEvent();
    
    $('xxx').one(transitionEvent, function(event) {
     // Do something when the transition ends
    });
  4. alertTip()一個彈窗組件,用于美化瀏覽器自帶alert(),兼容移動版
    • 參數說明: alertTip(title, tip, type)
    • title彈窗標題tip彈窗正文type(可選): error類型
    • 此例會使用到geekpark.css
  5. share對象,擁有openWindowrun方法,用于打開微博和推ter的分享。
    • window.GeekPark.share.run(type, options)
    • type ==> { weibo | 推ter }
    • options ==> {title: 'title', imageView: 'img url'}
  6. loadingBtn對象,目前擁有createNew方法
    • GeekPark.loadingBtn( jQueryObject, loadingGif圖片地址 );
  7. isWechat()通過UA檢測是否在微信瀏覽器內打開頁面,返回布爾值
  8. stringTrim()剔除string兩邊的空格
    • GeekPark.stringTrim('geekpark ') => 'geekpark'
  9. arrayShuffle()打亂一個數組 var arr = [1,2,3,4,5]; GeekPark.arrayShuffle(arr); // [2,1,4,5,3] // [3,1,4,2,4] // ...
  10. changeWechatShare()用于更改微信分享到朋友圈發送給朋友標題描述以及縮略圖 shareData = { title: xxx, // 可選 desc: xxx, // 可選 link: xxx, // 可選 img_url: xxx // 必須 } GeekPark.changeWechatShare(shareData);
    • 如果你是服務號并且還想增加在朋友圈中的來自xxx小尾巴,請看源碼,在WeixinJSBridge.invoke('shareTimeline', {下的參數中增加`"appid" : 公眾號原始ID"

項目主頁:http://www.baiduhome.net/lib/view/home/1419575199546

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!