我常用的前端短代码记录

2018-02-28  本文已影响179人  春风本是人间客

1. 检查边距

*{ background: #000 !important;
color: #0f0 !important;
outline: solid #f00 1px !important; }
a7b789a9gy1fow4hu8khhj206203qwea.jpg

2. 保留小数点后两位

parseFloat((a).toFixed(2));//toFixed只能针对数字类型才能使用

3.Vue过滤器

filters: {
   returnBill: function(value) {
      var bills = ["否", "是"];
      return bills[value];
   }
}

4.高和宽

<li> 网页可见区域宽: document.body.clientWidth </li>
<li> 网页可见区域高: document.body.clientHeight </li>
<li> 网页可见区域宽: document.body.offsetWidth (包括边线的宽)</li>
<li> 网页可见区域高: document.body.offsetHeight (包括边线的高) </li>
<li> 网页正文全文宽: document.body.scrollWidth </li>
<li> 网页正文全文高: document.body.scrollHeight </li>
<li> 网页被卷去的高: document.body.scrollTop </li>
<li> 网页被卷去的左: document.body.scrollLeft </li>
<li> 网页正文部分上: window.screenTop </li>
<li> 网页正文部分左: window.screenLeft </li>
<li> 屏幕分辨率的高: window.screen.height</li>
<li> 屏幕分辨率的宽: window.screen.width </li>
<li> 屏幕可用工作区高度: window.screen.availHeight</li>
<li> 屏幕可用工作区宽度: window.screen.availWidth </li>

直接获取标签高或宽
.offsetHeight

5.新建一个react项目

1.安装
npm install -g create-react-app

2.创建
create-react-app my-app

3.安装UI
npm install material-ui

4.安装点击插件
npm install  react-tap-event-plugin

5.安装fetch插件
npm install whatwg-fetch

6.安装react-router
npm install --save-dev react-router
npm install --S react-router-dom

打包
npm run-script build

6.限定N行

display: -webkit-box;
overflow: hidden;
white-space: normal!important;
text-overflow: ellipsis;
word-wrap: break-word;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;

单行
.table tbody > tr > td.name{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
 }

7.fetch使用(POST)

fetch("http://119.23.225.18/getmsg", {
   method: "POST",
   headers: {
       "Content-Type": "application/x-www-form-urlencoded",
   },
   mode: "cors",
   body: JSON.stringify({
       page : 1,
       rows : 10
   })
}).then(function(res) {
   if (res.status === 200) {
         return res.json()
   } else {
         return Promise.reject(res.json())
   }
}).then(function(data) {
    console.log(data);
    self.appentDomlist(data.data);
}).catch(function(err) {
    console.log(err);
});

8.新版本上线(指导蒙版)

position: absolute;
box-shadow: rgba(0, 0, 0, 0.75) 10px 1px 1px 99px;
z-index: 100;
width: 367px;
height: 143px;
left: 40px;
top: 12px;
Image.png

9.把时间戳转为时间

var time = new Date(Number(value));
var Y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
var H = time.getHours();
var mi = time.getMinutes();
var s = time.getSeconds();
if(m < 10) {
    m = '0' + m;
}
if(d < 10) {
   d = '0' + d;
}
 if(H < 10) {
   H = "0" + H;
}
if(mi < 10) {
   mi = '0' + mi;
}
if(s < 10) {
   s = "0" + s;
}
 return (Y + "-" + m + "-" + d + " " + H + ":" + mi + ":" + s);

10.获取当前时间戳

var timestamp=new Date().getTime();

11.两个时间戳相减所距时间

var now = new Date().getTime();
var nTime = now-value;
var day = Math.floor(nTime/1000/60/60/24);
var hour = Math.floor(nTime%1000/60/60);
var minute = Math.floor(nTime/1000/60);
var sec = Math.floor(nTime/1000);
console.log(day+"==="+hour+"==="+minute+"==="+sec);

12.网络请求发送参数格式转换

const formartJson2prams = (obj)=>{
    var result = [];
    for(const item in obj){
        result.push(item+"="+obj[item])
    }
    return result.join("&");
}

13.引用模块的两种不同写法

//ES6 模块

import MyModule from './MyModule.js';


//CommonJS

var MyModule = require('./MyModule.js');

14.babel的坑

新版babel要安装两个,然后还有一大坨附属的,还要在webpack.config.js里面更改
     test: /\.jsx?$/,
    loader: 'babel-loader',
    exclude: /node_modules/,
    query: {
        presets: ['es2015']
    }

15.判断对象{}是否为空

if(Object.keys(obj).length === 0){...}

16.CSS做三角形

width: 0;
height: 0;
border-color: #f60 transparent transparent transparent;
border-style: solid;
border-width: 10px;

17.width 100% 自适应

width: -webkit-fill-available;

18.雪碧图

background: url(xxx) no-repeat;
width: 64px;
height: 64px;
background-position: 0 -64px;

19.html自适应手机

<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

20.最后一个li不显示border(类推)

方法一:
li{border-top:1px solid #000;}
li:first-child{border-top:none;}

方法二:
li+li{
    border-top: 1px dashed #999;
}

方法三:
li:not(:last-child)...

21.禁用左键

$(document).ready(function(){
  $(document).bind('contextmenu', function(e){
    return false;
  })
})

22.文字换行

word-wrap:break-word;

23.forEach跳出循环

var BreakException= {};

try {
    [1,2,3].forEach(function(i) {
        if(i === 2) throw BreakException;
        console.log(i);
    });
} catch(e) {
    if (e!==BreakException) throw e;
}

//forEach是函数,不是语法,因此没有直接break的语法。如果要中止,可使用 Array.every 或 Array.some。

24.jquery input change事件

$("#input_id").on('input',function(e){
   alert('Changed!')
});

25.随机整数

Math.floor(Math.random()*page.otherParams.userIds.length)

26.改变控制台面样式

console.log("%c来自:console","color:red;font-size:50px");
Image.png

27.电话正则

if(!(/^1[34578]\d{9}$/.test(responsibleTel.val()))){
   return toastr.info("请输入正确的电话号码","提示!");
}

28.


29.


30.最简单的闭包

;(function(){  
  alert(1);  
})();

31.vue循环时怎么绑定图片地址及href跳转地址

<li v-for="v in sites">
    <a :href="v.herf">
        <img v-bind:src="v.url"/>
        <span>{{ v.text }}</span>
    </a>
</li>

重点:
<a :href="v.herf">

<img v-bind:src="v.url"/>

上一篇下一篇

猜你喜欢

热点阅读