00:00
呃,Current style,还有这个get community STEM都给说完了,但是这个你刚刚我们说了有个兼容性的问题,也就是说没有一个方法它可以支持所有的这个浏览器,那既然这样呢,我们就需要自己去定一个方法,于是我们自己定义一个get,一个style,一个方法,那这个参数呢,基本上这么一个形式,OB接是我们要获取样式那个元素,Name呢,是我们要获取那个什么呀,样式名,诶你要获取哪个样式,但是虽然定义这么一个方法呢,但是我们发现又出现一个问题,如果是这种方式,它只它支持的什么呀?大部分浏览器是不是都支持这种方式啊,但是什么呢?在我们IE8里,它只支持。这种啊,只支持这种,那我们说了,那你要想兼容所有浏览器,那怎么办?那你想那如果是什么呀,如果是IE8,我就给你返回这个,如果是其他浏览器,我是不是给你返回返回这个玩意儿,那这块我就需要干嘛了,我需要判断我这个浏览器的一个版本,然后判断当前浏览器它是不是IE8啊,是不是IE8,那这块就面临一个问题,我们需要判断浏览器的一个。
01:08
版本,但是这个事儿咱们目前来讲还还不会呢,是吧,还不会呢,即使会的话,那个也会稍微有一点点的麻烦,哎,稍微有点麻烦,那我一想,其实我没有必要判断它是不是I8。我一想就两种方式是吧,一个是这种方式,一个是这种方式,那我一想什么呀,怎么办呢?如果我,诶如果你有这个get comut style这个方法干嘛呢?我就采用这种方式,如果没有呢,我是不是就得就采用这种方式啊,诶所以我没有必要判断什么呀,判断浏览器的版本,我只需要判断什么,我只需要判断我这个浏览器中是否具有这个get commut style这个什么呀方法,如果你有,那是不是证明你是个正常浏览器啊,如果你没有,那是不是证明你是个I8呀,I8我们来看看啊,直接来这来什么呢,咱们上边呢,我给它都住掉啊,我这直接还是直接调一什么呢?调一个这个盖一个style get style还是传一个报一,然后直接传一个外在,这无所谓啊,我就直接为了是为了是掉一下WDTH,然后保存,我们来在这干嘛呢,我在这儿来一个alert一个这个什么呢叫。
02:23
做一个guide com style,我说弹出一下,我一保存,咱们这一弹来刷新,我一点走你。哎,是个什么玩意儿,是个函数吧,哎,是个函数,那证明有没有啊,有在火狐里有来看我们我一点是不是ome里也有啊,来也有再看我们这个IE8IE8我这一点完了就完了,报错了是吧?来来看我们IE9艾九我一弹走你。是也出来了,哎,那就看就怎么办了,那我们说了,在我们这个正常浏览器里,这是不是都是一个对象啊,那既然是个对象,我如果来一个这么if。
03:08
If,这里边是个对象,如果有它是什么?是不是处啊?哎,是处处我就干嘛呢?我是不是给你。返回这个呀,哎,返回这个,哎,那我们说否则呢,否则证明什么,否则你是不是没有啊,没有干嘛呢,我是不是返回返回这个样行不行,诶我们先看看啊,先看还有问题的啊还有问题呢,我们先看看正常浏览器方式干嘛呢?正常览器它干嘛呢?它具有我们这个get com什么呀,Style方法,具有我们这个方法。而而什么呢?而这个呢,进入else叫什么呀,它是不是没有我们这个get computer style这个什么呀,方法,你说如果你有这个方法,我就给你返回它,如果没有我是不是给你返回它呀,逻辑上是没问题的吧,哎,逻辑上是没问题的,但是我们来看效果啊,现在来看我们这个火狐,我这一刷新没报错吧,哎,没报错,然后呢,我这来呃乐一下这个结果,直接挖一个这个外S吧,咱们输出一下W等于它,然后呢,我这来一个alert,这个W保存,咱们来看效果一刷新,我这一点一百PS是不是获取到了,来再看我们chome,我这一刷新。
04:34
一点是不是也获取到了,诶为什么能获取到,因为他们是不是都是有啊有则走我这个if里边的这个。在哪吧,诶有走走它来咱们先看看IE9 ie9我一刷新一点走,你是不是也有啊,诶来看IE8,那注意了,IE8就不一样了,IE8里边有没有它没有它没有它按理来讲是不是应该走这个呀,诶走else,但是注意了有的时候往往是什么呀,事与愿违的是吧,我们虽然这么设计的,但是呢,你点它。
05:07
又给你报错了,Get com为定义,Get com style未定义,那不对呀,你这没有,你是不是应该走走这儿啊,大家注意,为什么我这来了一个get的community style,我是不判断有没有它呀,那你要注意了,我现在是在函数状语里边是不是用它呀,它现在哪找,是不是在函数里找啊,函数里有没有啊,没有没有,是不是去全局找啊,全局里有没有啊,也没有,那注意了,你找一个变量选举里边它也没有,那干嘛了?是不是报错了呀?所以你这么写呢,它不行,为啥不行?因为在IE里会干嘛呀,IE8里边报错了,你这一报错下边是不是都不执行了,哎,都不执行了,所以这么写不行,那怎么写?看这那这个是哪的,是全局里的吧,全局里的那它是不是就是window对象的属性啊,所以我这写get com style跟我写什么呢?跟我写一个window.get com style应该是什么,是不是应该是一样的呀?诶应该是一样的,我们来看啊这块我一刷新在这效果是不是一样啊,来看我们这个一刷新走你是不是也一样啊?诶来看我们IE这回行不行,一刷新走你。
06:27
是不是行了,诶注意我就干我就干什么了,我是不是就加了一个window啊,注意我加了一个window,它有什么区别。没有加window的时候,它是一个变量,是不是需要去作用一中寻找啊,加了一个window它变成什么了?是不是变成一个对象的属性啊,变量和属性的区别,变量如果没找着干嘛?是不是报错啊,而属性没找着呢,是不是返回安find的呀?哎,所以你来了一个window.get comut style可以避免它干嘛呀,是不是to报错啊?诶,所以这么写是不是就OK了,这块看懂了吗?诶,所以我们的思路就是什么呀,先要判断你这里边是否有get comut style,如果有我就掉,如果没有我就干嘛呀,不掉啊,如果没有就不掉,那换句话说,我可以,我可以换种写法,看我这么写行不行,我来一个if什么的OB接点一个CU ENT current,那这什么意思?我是不是看它里边有没有看着style,如果有我返回这,如果没有我返回。
07:35
是不是这种是不是也行啊,诶就是反过来了,我这一刷新一点是不是也OK啊,诶这块我1.1刷新是不是也OK啊,再看我们IE81刷新一点是不是也OK啊,诶反过来判断呢也行,但是这种方式呢,我不推荐你用这用这方有点小问题,为什么小问也没啥问题,用用也没问题,但是这种方式有区别了,但是这种方式对于我们火狐还来说呢,没啥区别,但是对于谁呢?对于我们这个IE11来说,IE11啊,IE9啊IIE10这些浏览器他们有什么特点啊,它是不是既有current style,又有这个get community style,这两个方法都都有,但是你这么判断它优先用谁了,是不是优先使用c style了呀,但是我希望什么呢?还是都以这个get优先使用这个get community style,那这个目的就干嘛了,就达不到了,所以这块呢,还是建议使用什么呀,上面这种,但是本质上没有区别啊,本质上没有区别,好,那这一块我们就给他看完了,诶做一个判断就行了,有谁你就。
08:36
用谁啊,有谁你就用谁,诶那这个这么写可以,那你看着啊,我改一种方式啊,其实是本质上是一样的,但是那种方式就是看着能稍微的简单一点,但是我感觉还不如这种方式啊,这种方式结构更清楚一点,我怎么写呢?直接来一个return return谁呢?来一个window,点一个get community style还是这么写的,那注意来什么呢?来一个问号,这是什么了?是不是三运算符啊,哎,我们这三步运算符直接如果你有我来什么呢?来个他,然后来什么呢?冒号再来一个。
09:10
那个他。这两这两段代码呢,实际上是本质上是一样,只不过这个给写成什么了,写成一行了,诶效果我们来测测啊,这块一刷新一点获取到了吧,诶再来看这刷新走,你是不是也获取到了,再来看我们这块一刷新是不是也有啊,诶就都可以去使用了,本质上呢是。一样,诶本质上是一样的,只不过这种呢,就是稍微的能省点省点地方,但是用哪个都行,但是我还是觉得这种呢,结构更清晰是吧?诶可结构更清晰,所以你要用它还是建议用上上面这种啊,结构清晰好,那这一块我们就给它处理完了啊,那注意了,这是我们第一次要处理这个兼容性问题,以后我们遇到这种问题思路都是什么呀。都是这样的啊,思路都是这样,有哪个我就用哪个,没有我就用别的啊,没有就用别的来听一下。
我来说两句