设置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的更多相关文章

  1. js 2017

    JS面向对象 <script> function num(val) { return val * 8 } function Index(name, age) { this.name = n ...

  2. common.js 2017

    String.IsNullOrEmpty = function (v) { return !(typeof (v) === "string" && v.length ...

  3. Node.js 2017.11.5-2017.11.16期间制作的图片爬虫总结

    2017年11月18日12:33:06

  4. JS高级程序设计3

    PS:有一小部分写在了 JS 2017了 JSON <!DOCTYPE html> <html lang="en"> <head> <me ...

  5. 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的项目启 ...

  6. table2excel使用

    原table2excel代码 /* * 采用jquery模板插件——jQuery Boilerplate * * Made by QuJun * 2017/01/10 */ //table2excel ...

  7. Koa 框架教程

    Koa 框架教程   作者: 阮一峰 日期: 2017年8月 9日 Node 主要用在开发 Web 应用.这决定了使用 Node,往往离不开 Web 应用框架. Koa 就是一种简单好用的 Web 框 ...

  8. Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结

    Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结 常用200个模块 2017/04/12  22:01    <DIR>          acc 2017/04 ...

  9. 【python】列出http://www.cnblogs.com/xiandedanteng中所有博文的标题

    代码: # 列出http://www.cnblogs.com/xiandedanteng中所有博文的标题 from bs4 import BeautifulSoup import requests u ...

随机推荐

  1. MD5 与 SHA 在 Delphi 中函数实现,加密密码

    MD5 与 SHA 在 Delphi 中函数实现. 为了加密密码,必须使用一种算法,查询资料,比较好的方法是使用:MD5等算法,参考:Delphi XE8 支持MD5 第一种方式是:引用 System ...

  2. python用WMI模块获取系统命名空间

    可以和winmgmts的查询页面对应 from win32com.client import GetObject import pywintypes result=[] def enum_namesp ...

  3. shell中的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  4. 安装python2、python3

    先安装python2: python安装 D:\Python27 目录下的 "python.exe" 重命名为 "python2.exe",则在cmd中输入 p ...

  5. MySQL的连接数

    我使用的数据库,没有针对其进行其他相关设置,最近经常出现连接异常,现象为太多的连接. MySQL查看最大连接数和修改最大连接数 1.查看最大连接数(可通过show variables查看其他的全局参数 ...

  6. hibernate映射(学生-科目-成绩)

    实体类 1 public class Student { 2 private int id; 3 private String name; 4 private Set<Score> sco ...

  7. 18)django-模板的过滤器和tag,自定义simple_tag和filter

    模板过滤器是在变量被显示前修改它的值的一个简单方法. 过滤器使用管道字符 . 模板标签(template tag) .标签(tag)定义比较明确,即: 仅通知模板系统完成某些工作的标签.  一:dja ...

  8. oracle 在C# 中调用oracle的数据库时,出现引用库和当前客户端不兼容的问题解决方案

    oracle 在C# 中调用oracle的数据库时,出现引用库和当前客户端不兼容的问题解决方案 解决方案 1.直接引用  Oracle.ManagedDataAccess.Client.dll动态库即 ...

  9. Confluence 6 重构查找索引

    查找索引是自动维护的,但是你有时候可能会因为你在查找的时候或查看者邮件主题出现了异常,或者你的 Confluence 实例升级到了新的版本,你可能需要手动重构索引. 进行搜索索引重构: 在屏幕的右上角 ...

  10. angularjs 监听 文档click 事件

    项目 上遇到  innHTML  放入 一大段的html 内容 中带有 click 事件 如onclick="callInMethod("http://www.crm.bmcc.c ...