兼职前端的两周

最近两周突然被派了一个比较急的活,需要我做出几个页面,是展厅需要使用的新页面,对于不怎么会前端的我,兼职就是个巨大的挑战,以实战代学习,今天终于把页面做完了,总结一下熬过的这两周。

1.js中定时器的问题

要做出一些如轮播的动态效果,通过js写一个计时器必不可少,但其中有一个很重要的点要注意,无论是setTimeOut还是set。。。都是单线程执行的。

for( var i=0;i<3;i++){
    setTimeout(function(){
        console.log(i);
    }
    ,300);
}
// 输出结果 3,3,3

输出结果并不是我们所预想的1,2,3。当然,这个要涉及到setTimeout 的原理了,即使把300ms改成0ms,同样也会输出3,3,3。具体可以查看博文 setTimeout(0) 的作用 。这里摘取其中一段说明。

JavaScript是单线程执行的,无法同时执行多段代码。当某段代码正在执行时,后续任务都必须等待,形成一个队列。只有当前任务执行完毕,才会从队列中取出下一个任务——也就是常说的“阻塞式执行”。

因此在遇上需要使用for循环+延时器的时候,就会出问题。解决方式如下
1.对使用延时器的函数使用递归
2.使用addEventListener去取代延时器,参考(https://www.jianshu.com/p/c64bfbcd34c3)

2.数字滚动特效写法学习

(http://www.htmleaf.com/jQuery/Layout-Interface/201807275248.html)

3.js的常见几种操作样式及标签的方法

4.页面中主要使用到的一些东西

  • (‘获取元素’)animate.({修改位置及大小等属性}),用来进行动画转场、轮播等
  • fadeIn和fadeOut实现渐入渐出
  • 引入echarts,在js中进行柱状图、饼图等编写,实现图表
  • 引入编写好的od分析工具页面,<iframe>标签引入

5.监听器

  • 通过addEventListener(event,function,use capture)来监听时间,use capture为ture时是捕获阶段进行监听,false为冒泡阶段进行监听。
  • 与之相对的removeEventListener(),不能匿名function进行监听删除。
  • IE8之前的旧版本用attachEvent进行监听

6.js中的Array对象

  • 是一个数组对象,可{“a”:“1”,...}放入,可用length获取长度,用prototype去操作属性属性和方法
  • Array.prototype.slice.call(arguements)表示返回数组对象中的指定的数组
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。