• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
落英、执手
博客园    首页    新随笔    联系   管理    订阅  订阅
小工具汇总

一、时间相关的问题

1.获取以当前时间为截止时间的一个星期的时间段

function getOneWeek(){
    var currentTime = new Date().getTime();
    var previousTime = currentTime - 24*60*60*1000*6;
    var weekTime = {
        "previousTime":gettingTime(previousTime).split(" ")[0],
        "currentTime":gettingTime(currentTime).split(" ")[0]
    }
    return weekTime;
}    

2.时间戳转时间

Date.prototype.format = function(fmt) {
    var o = {
        "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));
    for ( var k in 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)));
    return fmt;
}; 

function gettingTime(time, type){
    if(time == "" || time == null){
        return "";
    }else{
        var date = new Date();
       date.setTime(time);
if(type=="date"){
       return date.format("yyyy-MM-dd");
     }else{
       return date.format("yyyy-MM-dd hh:mm:ss");
     }
    }
}    

 二、js库

1.polyfill:主要用于去除不同浏览器之间对js实现的差异(典型做法是在IE浏览器中增加 window.XMLHttpRequest ,内部实现使用 ActiveXObject。)

      直接在页面中引入文件即可:

<script src="//cdn.polyfill.io/v1/polyfill.min.js" async defer></script>

三、文字样式为渐变色

{
  background-image:-webkit-linear-gradient(bottom,#1EC9FF,#FFF);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;  
} 

四、导出

1.导出csv文件

/* 
 * 导出csv文件
 * @params refName 组件ref值
 * @params data 要导出的数据
 * @params csvName csv文件名
*/
 export function exportTableData(refName, data, csvName){
    var arr = this.$refs[refName].columns;
    let csvHeader ={};
    arr.map(item=>{
        csvHeader[item.property] = item.label;
    })
    let csv = "";
    for(let key in csvHeader){
        csv += csvHeader[key] + ",";
    }
    csv = csv.substr(0, csv.length - 1) + "\r\n";
    for(let i in data){
        for(let key in csvHeader){
            csv += data[i][key] + ",";
        }
        csv = csv.substr(0, csv.length-1) + "\r\n";
    }
    let content = new Blob(['\uFEFF' + csv], { type: "text/csv;charset=utf-8" });
    let urlObject = window.URL || window.webkitURL || window;
    let url = urlObject.createObjectURL(content);
    let el = document.createElement("a");
    el.href = url;
    el.download = csvName+".csv";
    el.click();
    urlObject.revokeObjectURL(url);
}        

 五、复制信息

<span id="target" @click="copyIt">要复制的信息</span>

copyIt(){
    const range = document.createRange();
    range.selectNode(document.getElementById("target"));
    const selection = window.getSelection();
    if(selection.rangeCount > 0) selection.removeAllRanges();
    selection.addRange(range);
    document.execCommand("copy");
    alert("复制成功");
    selection.removeRange(range);
}

 六、判断PC端还是手机端

var browser = {
    versions: function () {
        var u = navigator.userAgent, app = navigator.appVersion;
        return {         //移动终端浏览器版本信息
            trident: u.indexOf('Trident') > -1, //IE内核
           presto: u.indexOf('Presto') > -1, //opera内核
           webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
           gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
           mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
           ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
           android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
           iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
           iPad: u.indexOf('iPad') > -1, //是否iPad
           webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.mobile) {//判断是否是移动设备打开
    var ua = navigator.userAgent.toLowerCase();        //获取判断用的对象
    if (browser.versions.ios || browser.versions.android) {        // 手机端浏览器打开
        if (ua.match(/MicroMessenger/i) == "micromessenger" || ua.match(/WeiBo/i) == "weibo" || ua.match(/QQ/i) == "qq") {}else{}
    }
}    

 七、多行文字省略

p{
  width:400px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 11;   //  显示多少行
  overflow: hidden;  
}

 

  

posted on 2020-10-20 16:36  落英、执手  阅读(49)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3