【消灭代办】第3周

 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里的代码】

这是一个很水的代办。。。

因为可以单独算一个系列,所以单独成文:https://www.cnblogs.com/padding1015/p/10030518.html

 

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标签:

<video x5-video-player-type="h5" x-webkit-airplay="true" airplay="allow" playsinline="" webkit-playsinline="" src="dizhi.mp4" style=" 100%; height: 100%; object-fit: cover;"></video>

视频标签属性讲解:http://caibaojian.com/h5-video.html

<video id="video" class="pd" preload="auto" x-webkit-airplay="true" webkit-playsinline="true" playsinline="" x5-video-player-type="h5" x5-video-player-fullscreen="true" poster="image/poster.jpg" src="image/v.mp4" style="margin-left: -185.063px; height: 100%; margin-top: -181.222px;  100%;"></video>
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/padding1015/p/10022039.html