*js执行顺序优先级
process.nextTick > promise.then > setTimeout > setImmediate
原因是使用 Promise.then 添加的回调函数会被放到 microtask 队列中,而 setTimeout 的回调函数会在macrotask 。
事件循环会先取 microtask 的任务,直到清空。而 macrotask 队列则每次只取一个任务,之后会再次清空 microtask 队列,再取一个 macrotask 。
*
js执行顺序优先级
process.nextTick > promise.then > setTimeout > setImmediate
原因是使用 Promise.then 添加的回调函数会被放到 microtask 队列中,而 setTimeout 的回调函数会在macrotask 。
事件循环会先取 microtask 的任务,直到清空。而 macrotask 队列则每次只取一个任务,之后会再次清空 microtask 队列,再取一个 macrotask 。
*
.serialize()
将用作提交的表单元素的值编译成字符串。
.serializeArray()
将用作提交的表单元素的值编译成拥有name和value对象组成的数组。例如[ { name: a value: 1 }, { name: b value: 2 },...]
*
document.documentElement.scrollTop和window.scrollTo() //改变滚动条高度,用这两个都可以,注意document.body是不可以的
滚动条的scrollTop,可以同时写三个,解决兼容性问题
document.body.scrollTop = total
document.documentElement.scrollTop = total
window.pageYOffset = total
封装
let scrollTop= document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
scrollTop=scrollTop+100
function scrollTop(ele){
document.body.scrollTop = ele
document.documentElement.scrollTop = ele
window.pageYOffset = ele
}
使用方法:scrollTop(scrollTop)//传入距离的数字
***************************************************
/*复选框自定义样式*/
input[type="checkbox"]{
-moz-appearance:none; /* Firefox */
-webkit-appearance:none; /* Safari 和 Chrome */
appearance:none;
display: inline-block;
height: 18px;
width: 18px;
outline: 0;
border: 0;
vertical-align: -7px;
background: url(../img/checkbox_unchecked.png) no-repeat;
background-size: contain;
background-position: 0px 0px;
}
input[type="checkbox"]:hover{cursor: pointer}
input[type="checkbox"]:checked{background: url(../img/checkbox_checked.png) no-repeat;background-size: contain;}
************美化滚动条**************
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar
{
width: 10px;
height: 0px;
background-color: #F5F5F5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
border-radius: 10px;
background-color: #F5F5F5;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #555;
}
************************************
git.we2tu.com //gitlab地址
oa.hemei.cn:8000
http://bug.etu6.org //bug地址
账号:lixm
密码:123456
\\172.17.5.124 //静态文件地址
账号:statictest
密码:statictest
http://tripb2cwap.tb.yake.net // 供应商微店wap
http://tripb2cwap.tb.yake.net/34556/buyer/index.html
tripb2cweb.tb.yake.net // 供应商微店pc
账号:cytrip
密码:111111
http://test.admin.jintutrip.etu6.org //erppz测试环境
hmqtrip / 123456 //账号和密码
http://cy.tb.yake.net/details.html?dateid=7938547 //馨途平台首页
https://doc.react-china.org/ //react学习
https://www.jianshu.com/p/1626b8643676 //vue安装
https://www.kancloud.cn/yunye/axios/234845 //axios 中文说明
https://www.jianshu.com/p/a138a525c287 //es6/es7介绍
http://azat.co/ //js技术牛人
http://demo.topjui.com/?s=bdtg //不错的前端框架
https://www.cnblogs.com/dupd/p/7735450.html //vue方面的vue框架
http://blog.csdn.net/weiweismile123/article/details/70226319 //filter的用法(检索内容用法)
https://www.jianshu.com/p/c17a5dd68474 //vue小细节讲解
http://blog.163.com/yw_0721/blog/static/71645797201021232731933/ //jQuery.extend()的合并对象功能
http://jingyan.baidu.com/article/90bc8fc8bee0bcf652640c61.html?allowHTTP=1 //监控
http://www.sucaihuo.com/js/1946.html //html TO img
http://tripb2cwap.tb.yake.net/34556/buyer/line.poster.html?dateid=7938725 //海报页本地(买家版)
http://tripb2cwap.tb.yake.net/30007/seller/line.details.html?lineid=8111385&dateid=7920341# (卖家版)
http://seller.ht.tb.yake.net/wap/configure.html //卖家版pc后台
caoxuelian、111111
https://segmentfault.com/a/1190000011478657 //html2canvas绘制图片问题
https://www.cnblogs.com/xiaohuochai/p/5314289.html //深刻理解margin
http://www.lingdublog.cc/ //零度前端,不错的博客
C:\Users\Administrator\Documents\Tencent Files\1026819503\FileRecv //QQ下载路径
http://kuangpf.com/mpvue-weui/#/ mpvue***UI
https://www.cnblogs.com/liulinjie/p/5663015.html //移动端Web页面问题解决方案
///*****************
$(".product-type").find("li").each(function(){
var $thistext=$(this).text();
console.log($thistext)
$thistext=$thistext.substr(1,8);
$(this).html($thistext);
});
//用了async:false;同步请求,不用延时
"swiper": "^3.4.2", //swiper
vue安装
# 全局安装 vue-cli
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ cd my-project
$ npm install
$ npm run dev
*******************************************
配置本地环境
1、projectinit下的conf文件里新增一个配置文件
2、在WWW文件里的domain.php,配置一个域名
3、在项目文件里新增一个log文件夹
4、WWW文家下git一下tb reloadnginx,然后再 tb start
5、可以访问了
*******************************************************
Windows系统默认是96dpi,Apple系统默认是72dpi。
因此 pt = px * dpi / 72
所以:1pt=px*96/72 //Windows环境下
*******************************************************
JSON.stringify() //对象转化为对象字符串
JSON.parse() //对象字符串转化为对象
/*****倒计时,个位数前补0******/
/ 倒计时
var timesHtml = $(‘.times ‘);
var countDown;
function addZero(n) {
return n < 10 ? ‘0‘ + n : n;
}
function newTime(seconds) {
countDown = seconds;
var timer = setInterval(function () {
countDown--;
var oDay = parseInt(countDown / (24 * 60 * 60));
var oHours = parseInt(countDown / (60 * 60) % 24);
var oMinutes = parseInt(countDown / 60 % 60);
var oSeconds = parseInt(countDown % 60);
oHours = addZero(oHours);
oMinutes = addZero(oMinutes);
oSeconds = addZero(oSeconds);
timesHtml.text(oHours + "时" + oMinutes + "分" + oSeconds + "秒")
//别忘记当时间为0的,要让其知道结束了;
if (countDown <= 0) {
timesHtml.text("0")
clearInterval(timer )
}
}, 1000)
}
newTime(5000)//执行,传入时间毫秒数
/************/
splice() //array.splice(index,howmany,item1,.....,itemX)
slice() //array.slice(start, end)
split()
item.toLowerCase().includes(key.toLowerCase())// es6的方案更好 item.toLowerCase().indexOf(key.toLowerCase()) != -1
**************************************
//截取中文字符串长度,并且增加换行符
var hah=$(".test").text();
getByteLen(hah);
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null)
{
len += 2;
//if(len%10==0){
var str = val, result = "";
for(var n=0,len=str.length;n<len;n++){
result += str[n];
if(n%40==0){
result += ‘<br>‘;
}
}
//}
}
else
{
len += 1;
}
}
//result.replace(/\"/g,"");
//result.replace("<br>", "");
console.log(result);
$(".test").html(result);
}
//倒计时10s
var fun=(function(){
var timer;
var i = 0;
function aa(x){
i++;
if(i===x){
clearTimeout(timer);
return false
}
timer=setTimeout(function(){aa(x); console.log(i);},1000);
};
return aa
})();fun(10)
原文地址:https://www.cnblogs.com/holy-amy/p/9154492.html