js 2017 - 2
设置360为极速模式 <meta name='renderer' content='webkit'>
css3超出隐藏
.ellipsis { // 超出一行
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.ellipsis2 { // 超出两行
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp:;
-webkit-box-orient: vertical;
}
图片 占位图
http://placekitten.com/375/280
ajax 兼容ie9
$.support.cors = true; // 这一行好像不需要
ajax(
crossDomain: true == !(document.all), // ie9 兼容
)
动态添加script ,并判断只加载一次
let _this = this
if (window.BMapLib) { // 判断动态加载的js 里面某个方法是否存在
_this.getMap()
return
}
let count = 0
function startLoad () {
_this.addScript('api.bai.xxx.js', function () {
_this.getMap()
}, function () {
count++
if (count < 4) startLoad() // 回调,加载失败再加载
})
}
startLoad() addScript (src, success, error) {
let script = document.createElement('script')
script.src = src
document.body.appendChild(script)
script.onload = function () { //成功
success()
}
script.onerror = function () { //失败
error()
}
}
接口数据锁 isLoading 防止多次点击调用多次接口
xx.click(function(){
getData();
})
// 默认 isLoading = false
getData(){
if(isLoading) return
isLoading= true // 当多次点击时, isLoading为true,会直接返回
api.onsuccess(){
isLoading= false // 拿到数据后,就可以再次调用
}
}
滚动监听加载数据
// 滚动监听 window.onscroll=function(){} window.addEventListener('scroll',scrollEvent,false)
function scrollEvent(){
// 如果已加载数据就不用监听了 if(self.$data.hasData) return
// 如果正在加载数据,并滚动到相应位置就调接口 getShop()
if(!self.$data.isLoading && document.body.scrollTop > 400){
self.getShop()
}
}
getShop(){
if(self.$data.isLoading) return // 滚动监听会拼命调接口
self.$data.isLoading = true // 调到接口设置为true
api.onsuccess(){
self.$data.hasData = true // 有数据了
self.$data.isLoading = false // 调到数据后,就可以再次调用 getShop()了
}
}
网络状态监听
let _this = this
// 网络状态监听
window.addEventListener('offline', function (e) {
_this.online = false
})
window.addEventListener('online', function (e) {
_this.online = true
})
swiper 回调函数、方法 demo
var myswiper = new Swiper('.swiper-demo', {
onSlideChangeEnd: function () { // 回调函数
var index = myswiper.activeIndex
}
});
myswiper.slideTo(index, 300, false) // 方法
jq 请求头
beforeSend: function (xhr) {
xhr.setRequestHeader("X-Custom-Header1", "Bar");
},
chrome调试
chrome调试, 可以在控制台修改已经断点过的变量,可以实时更新 var a = 1;
var b = 2;
var d = a+b;
console.log(d); ctrl+shift+p 搜索console 选Drawer,打开console
在b打断点后,可在控制台window.a=1000; 按f10继续断点后,a的值会被改为1000,最终d的值为1002
F8在跳到下一个断点 F10一行一行断点 F11跳进函数断点
替换两个值
<script>
// 替换两个值 1
var a =12,b=2;
a+=b; // a= a+b a是两个数的和
b=a-b; // b= 和-b = a
a-=b; // a=a-b
console.log(a);
console.log(b);
// 替换两个值 2
let c = 100;
let d = 30;
[c,d]=[d,c]
console.log(c);
console.log(d);
</script>
js 2017 - 2的更多相关文章
- js 2017
JS面向对象 <script> function num(val) { return val * 8 } function Index(name, age) { this.name = n ...
- common.js 2017
String.IsNullOrEmpty = function (v) { return !(typeof (v) === "string" && v.length ...
- Node.js 2017.11.5-2017.11.16期间制作的图片爬虫总结
2017年11月18日12:33:06
- JS高级程序设计3
PS:有一小部分写在了 JS 2017了 JSON <!DOCTYPE html> <html lang="en"> <head> <me ...
- main.js index.html与app.vue三者关系详解
main.js index.html与app.vue三者关系详解 2019年01月23日 11:12:15 Pecodo 阅读数 186 main.js与index.html是nodejs的项目启 ...
- table2excel使用
原table2excel代码 /* * 采用jquery模板插件——jQuery Boilerplate * * Made by QuJun * 2017/01/10 */ //table2excel ...
- Koa 框架教程
Koa 框架教程 作者: 阮一峰 日期: 2017年8月 9日 Node 主要用在开发 Web 应用.这决定了使用 Node,往往离不开 Web 应用框架. Koa 就是一种简单好用的 Web 框 ...
- Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结
Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结 常用200个模块 2017/04/12 22:01 <DIR> acc 2017/04 ...
- 【python】列出http://www.cnblogs.com/xiandedanteng中所有博文的标题
代码: # 列出http://www.cnblogs.com/xiandedanteng中所有博文的标题 from bs4 import BeautifulSoup import requests u ...
随机推荐
- awk入门【转】
awk其实不仅仅是工具软件,还是一种编程语言.不过,本文只介绍它的命令行用法,对于大多数场合,应该足够用了. 一.基本用法 awk的基本用法就是下面的形式. # 格式 $ awk 动作 文件名 # 示 ...
- whistle工具全程入门
接触过前后端开发的同学应该都了解网络请求代理工具fiddler(mac下面常用的是Charles),可以用来拦截分析请求.包装请求.本地调试和移动端代理开发调试等.多多少少,fiddler和Charl ...
- linux系统快捷键
tab 补全命令 两次tab 列出所有以字符前缀开头的命令 ctrl A 把光标移到命令行开头 ctrl E 把光标移到命令行结尾 ctrl C 强制终止当前的命令 ct ...
- Springboot:开发时工程启动慢
个人的解决办法是删除workspace中的histor 然后重启Eclipse,发现一切正常.
- 无备份mysql删除表后恢复
mysql从5.6.17开始自动设置innodb_file_per_table为on,每个表设置单独表空间,数据不是集中存放在ibdata1里.下面测试下无备份后drop表后的恢复. 前奏生成数据字典 ...
- 【原创】Java基础之简单修改jar包中的class
有时需要修改很多jar(假设这些jar都位于lib目录)中其中一个jar中的某一个类,而且又没有原始代码或ide,这时最简单的方式是: 1 进入lib目录 # cd lib # ls test.jar ...
- js对数组中的数字排序
1 前言 如果数组里面都是数字,如果用原生的sort,默认是按字符串排序的,不符合我们的要求 2 代码 方法1:添加Array的原生方法 Array.prototype.sort2 =function ...
- layui 子页面向父页面传值
实现功能:单击确定按钮将选中的id传到父页面并关闭当前子页面. 首先在父页面定义一个函数: //分配产品 function ChooseAdidValues(v) { if (v != "& ...
- Stetho简化Android调试(二)
Stetho简化Android调试(一) 一文中讲述了如何使用Stetho结合Chrome远程调试Android App. Stetho给我们调试带来很大的便利,效率显著提升的同时也产生一个问题:如果 ...
- js——this
每个函数的this是在调用时绑定的,完全取决于函数的调用位置 1. 绑定规则总结 一般情况下,按下列顺序从下至上来判断this的绑定对象(绑定的优先级从下至上递减) 默认:在严格模式下绑定到undef ...