写轮播图遇到的那些基础知识
Posted 早晨学习的地方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写轮播图遇到的那些基础知识相关的知识,希望对你有一定的参考价值。
1.使用定时器造成的性能问题及解决方法(学习自某博主,不允许外传!)
用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?
优化方案如下:
- var timeout = false; //启动及关闭按钮
- function time()
- {
- if(timeout) return;
- Method();
- setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒
- }
总结
一般不用setInterval,而用setTimeout的延时递归来代替interval。
setInterval会产生回调堆积,特别是时间很短的时候。
2.使用CSS与HTML问题及注意事项
如何用原生js获取style属性值?
为什么不使用 .style.xxx?
原因:
用document.getElementById(‘element‘).style.xxx可以获取元素的样式信息,可是它获
取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到
我们要的信息了。
解决:
DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:
getComputedStyle(obj,null).paddingLeft,就能获取到对象的左内边距。但是事情还没完,
万恶的IE不支持此方法,它有自己的一个实现方式,那就是currentStyle,不同于全局方法
getComputedStyle,它是作为DOM元素属性存在的,如:obj.currentStyle.paddingLeft
以上是关于写轮播图遇到的那些基础知识的主要内容,如果未能解决你的问题,请参考以下文章
原生JS写轮播图(转自https://www.cnblogs.com/LIUYANZUO/p/5679753.html)
用bootstrap写轮播图的js出现Failed to load resource: net::ERR_TIMED_OUT错误是啥原因呢,该怎么解决