2018.11.26代办一:【js/jq获取元素的高度为0】
原因描述:
隐藏的元素的高度获取不到是0。存在于元素是display:none的时候解决方案:
可以设置元素展开后立马获取高度。
2018.11.27代办二:【斐波那契数列新写法】
斐波那契数列:
1 1 2 3 5 8...
规律就是前一个数等于后边临近两个数之和
原理:
// f(n) = f(n-1) + f(n-2)
递归调用的代码写法:
1 function fibonacci(n) {2 return n<=2 ? 1 : fibonacci(n-1) + fibonacci(n-2) //递归调用3 }
2018.11.28代办三:【怎么看微信h5里的代码】
这是一个很水的代办。。。
因为可以单独算一个系列,所以单独成文:
2018.11.29代办四:【如何监听一个animation动画的结束事件】
不能全部用setTimeout设置定时器触发动画结束后的程序吧。
两种写法,1、 原理都是监听animationend事件:
1 $('.page3 .bus').on('animationend',function(){2 console.log('动画完毕')3 })4 document.getElementsByClassName('bus')[0].addEventListener('animationend',function(){5 console.log(this)6 })
2、然后比较low一点的方法,就是setTimeout设置定时器。
但是这种方法比较好点的地方就是,可以设置的时间是早于动画或者动画播完后等一会再执行的。
2018.11.30代办五:【jq绑定touch事件时获取事件对象】
1 $('.choose-scroll').on('touchstart',function(e){2 console.log("touchStart",e);3 });
这时打印出来的e,为目标元素对象,而不是事件对象。
而 e.originalEvent 里边有touches对象。
或者可以直接使用event就是e.originalEvent对象了,他俩拿到的对象一样
2018.12.01代办六:【如何将伪数组转化为数组?】
伪数组:无法调用数组的方法,但是有length属性,又可以索引获取内部项的数据结构。
比如:arguments、getElementsByTagName等一系列dom获取的NodeList对象,他们 都算。
转换方法:
假设这里有个伪数组:pagis
let arr = [].slice.call(pagis)
console.log(arr) 这时arr就是真数组了。
或者:
let arr = Array.prototype.slice.call(pagis);
利用了slice传一个数组/集合,就会直接返回这个集合的原理。拿到的也是数组。
也就可以使用数组的各种方法了。
2018.12.02代办日:【video标签的健康写法】
vedio标签:
视频标签属性讲解: