1-解决第一次点击或轮播时,没有transition效果
/* left=0解决第一次点击没有轮播效果
(原因:未设置的话,初始left未知,
点击按钮后相当于给
只有修改left属性才会产生transition效果)*/
2-解决a标签跳转链接为空时,取消自动刷新页面
3-解决var声明后,后续的js事件,i不被保存
改成let i;产生块级作用域,此时i存在局部变量的块级作用域i
4-“./”代表当前路径 "../"代表上级目录 "/"代表根目录
5-获取和设置元素的top和left值
第一种方法,比较简单,就是直接通过obj.style.left和obj.style.top,
但是有局限性,这种获取的方法只能获取到行内样式的left和top的属性值,不能获取到style标签和link 外部引用的left和top属性值
第二种方法 只读,可以获取所有style样式,存在兼容性问题,在标准浏览器中可以通过window.getComputedStyle(对象,null).left方法来获取元素的left和top的属性值。而在IE浏览器上则是采用obj.currentStyle.left方法来获取属性值。这两种方式都是只读的。
6-在js中获取元素注意事项
通过let box1=document.getElementsByClassName('box1') 获取的是一个伪数组对象
注意:类不唯一,可能多个元素使用,所以使用时先确定
例如只有一个时
let box1=document.getElementsByClassName('box1')[0]===let box1=document.getElementById('bb')
通过let box1=document.getElementById('bb')是一个document对象的方法,可以通过它来获得指定id的html元素。
7-解决多个js中,只有最后一个js才生效
1.如果放在head中,则把所有js代码统一放到一个js中(放head中,js内部要写...window.onload()=funciton(){})
2.如果放在body中,则成立(js内部不需要加....window.onload....)
3.使用jquery
8-(===与Object.is(),两种比较两个值是否完全相等的方法)
Object.is()类似于===,
但是,===不能比较NaN,NaN===NaN->false(NaN于任意数值用===比较都为false)
而Objec.is(NaN,NaN)->true
9-obj[key].obj['key'],obj.key的区别
1.obj[key] : key代表的是循环中的一个(变量)
2.obj['key'] : key代表的是obj的一个属性,obj['key']即代表的是取obj的key(属性值)
3.obj.key : 此时obj.key相当于obj['key'],key代表的是obj的一个(属性)